diff options
Diffstat (limited to 'components/script/dom/htmlselectelement.rs')
-rw-r--r-- | components/script/dom/htmlselectelement.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 34c9187b644..03d10e117f4 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -84,6 +84,16 @@ impl HTMLSelectElement { HTMLSelectElementBinding::Wrap) } + // https://html.spec.whatwg.org/multipage/#the-select-element:concept-form-reset-control + pub fn reset(&self) { + let node = self.upcast::<Node>(); + for opt in node.traverse_preorder().filter_map(Root::downcast::<HTMLOptionElement>) { + opt.set_selectedness(opt.DefaultSelected()); + opt.set_dirtiness(false); + } + self.ask_for_reset(); + } + // https://html.spec.whatwg.org/multipage/#ask-for-a-reset pub fn ask_for_reset(&self) { if self.Multiple() { |