diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs index 3aff70c70f7..3e6019384ab 100644 --- a/components/script/dom/htmloptionelement.rs +++ b/components/script/dom/htmloptionelement.rs @@ -210,6 +210,12 @@ impl VirtualMethods for HTMLOptionElement { fn unbind_from_tree(&self, context: &UnbindContext) { self.super_type().unwrap().unbind_from_tree(context); + if let Some(select) = context.parent.inclusive_ancestors() + .filter_map(Root::downcast::) + .next() { + select.ask_for_reset(); + } + let node = self.upcast::(); let el = self.upcast::(); if node.GetParentNode().is_some() { diff --git a/tests/wpt/metadata/html/semantics/forms/the-select-element/select-ask-for-reset.html.ini b/tests/wpt/metadata/html/semantics/forms/the-select-element/select-ask-for-reset.html.ini deleted file mode 100644 index dd109c994dd..00000000000 --- a/tests/wpt/metadata/html/semantics/forms/the-select-element/select-ask-for-reset.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[select-ask-for-reset.html] - type: testharness - [ask for reset on node remove, non multiple.] - expected: FAIL -