diff options
author | Dongie Agnir <dongie.agnir@gmail.com> | 2015-12-27 21:47:13 -1000 |
---|---|---|
committer | Dongie Agnir <dongie.agnir@gmail.com> | 2015-12-27 21:47:13 -1000 |
commit | 12afd837a092bfadefbce9da6aca3c33f8e886ed (patch) | |
tree | e0da792ab5f503d51f950707c406771be6bd017e /components/script/dom/htmloptionelement.rs | |
parent | 941653da653a1925ade35597e97f61a6a8a0018d (diff) | |
download | servo-12afd837a092bfadefbce9da6aca3c33f8e886ed.tar.gz servo-12afd837a092bfadefbce9da6aca3c33f8e886ed.zip |
Ask for reset when option is removed.
Diffstat (limited to 'components/script/dom/htmloptionelement.rs')
-rw-r--r-- | components/script/dom/htmloptionelement.rs | 6 |
1 files changed, 6 insertions, 0 deletions
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::<HTMLSelectElement>) + .next() { + select.ask_for_reset(); + } + let node = self.upcast::<Node>(); let el = self.upcast::<Element>(); if node.GetParentNode().is_some() { |