aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmloptionelement.rs
diff options
context:
space:
mode:
authorDongie Agnir <dongie.agnir@gmail.com>2015-10-23 13:16:52 -1000
committerDongie Agnir <dongie.agnir@gmail.com>2015-10-23 13:16:52 -1000
commit663801ed79eefc6d20511cade9efb6cdf6e905dc (patch)
treee079ecccba3f9fa715789c4d42d220a43812d26d /components/script/dom/htmloptionelement.rs
parentc070c7ad30daac0ace04250a47dc17cb03d7a39d (diff)
downloadservo-663801ed79eefc6d20511cade9efb6cdf6e905dc.tar.gz
servo-663801ed79eefc6d20511cade9efb6cdf6e905dc.zip
ask for reset and pick on option insert.
Diffstat (limited to 'components/script/dom/htmloptionelement.rs')
-rw-r--r--components/script/dom/htmloptionelement.rs9
1 files changed, 9 insertions, 0 deletions
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::<Element>().check_parent_disabled_state_for_option();
+
+ let node = self.upcast::<Node>();
+ if self.Selected() {
+ if let Some(select) = node.ancestors()
+ .filter_map(Root::downcast::<HTMLSelectElement>)
+ .next() {
+ select.pick_option(self);
+ }
+ }
}
fn unbind_from_tree(&self, tree_in_doc: bool) {