@@ -413,15 +413,15 @@ void HTMLSelectElement::show_the_picker_if_applicable()
413
413
for (auto const & child : opt_group_element.children_as_vector ()) {
414
414
if (is<HTMLOptionElement>(*child)) {
415
415
auto & option_element = verify_cast<HTMLOptionElement>(*child);
416
- option_group_items.append (SelectItemOption { id_counter++, option_element.selected (), option_element.disabled (), option_element, strip_newlines (option_element.text_content ()), option_element.value () });
416
+ option_group_items.append (SelectItemOption { id_counter++, option_element.selected (), option_element.disabled (), option_element, strip_newlines (option_element.label ()), option_element.value () });
417
417
}
418
418
}
419
419
m_select_items.append (SelectItemOptionGroup { opt_group_element.get_attribute (AttributeNames::label).value_or (String {}), option_group_items });
420
420
}
421
421
422
422
if (is<HTMLOptionElement>(*child)) {
423
423
auto & option_element = verify_cast<HTMLOptionElement>(*child);
424
- m_select_items.append (SelectItemOption { id_counter++, option_element.selected (), option_element.disabled (), option_element, strip_newlines (option_element.text_content ()), option_element.value () });
424
+ m_select_items.append (SelectItemOption { id_counter++, option_element.selected (), option_element.disabled (), option_element, strip_newlines (option_element.label ()), option_element.value () });
425
425
}
426
426
427
427
if (is<HTMLHRElement>(*child))
@@ -567,15 +567,21 @@ void HTMLSelectElement::create_shadow_tree_if_needed()
567
567
update_inner_text_element ();
568
568
}
569
569
570
+ void HTMLSelectElement::update_inner_text_element (Badge<HTMLOptionElement>)
571
+ {
572
+ update_inner_text_element ();
573
+ }
574
+
575
+ // FIXME: This needs to be called any time the selected option's children are modified.
570
576
void HTMLSelectElement::update_inner_text_element ()
571
577
{
572
578
if (!m_inner_text_element)
573
579
return ;
574
580
575
- // Update inner text element to text content of selected option
581
+ // Update inner text element to the label of the selected option
576
582
for (auto const & option_element : list_of_options ()) {
577
583
if (option_element->selected ()) {
578
- m_inner_text_element->set_text_content (strip_newlines (option_element->text_content ()));
584
+ m_inner_text_element->set_text_content (strip_newlines (option_element->label ()));
579
585
return ;
580
586
}
581
587
}
0 commit comments