diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index c88919e968b..c4fa7267301 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -197,6 +197,15 @@ impl VirtualMethods for HTMLOptionElement { } self.upcast::().check_parent_disabled_state_for_option(); + + let node = self.upcast::(); + if self.Selected() { + if let Some(select) = node.ancestors() + .filter_map(Root::downcast::) + .next() { + select.pick_option(self); + } + } } fn unbind_from_tree(&self, tree_in_doc: bool) {