diff options
author | Philipp Hartwig <ph@phhart.de> | 2015-09-27 19:08:53 +0200 |
---|---|---|
committer | Philipp Hartwig <ph@phhart.de> | 2015-09-27 19:08:53 +0200 |
commit | 8d67914c7f33364435171c400698db998875595f (patch) | |
tree | c46d65cd9fab98a3e5c132f22588c14ef9aae428 /components/script/dom/htmlselectelement.rs | |
parent | a1fb8cfbb0be8d0a73bc1e3b63eb704f48098b8f (diff) | |
download | servo-8d67914c7f33364435171c400698db998875595f.tar.gz servo-8d67914c7f33364435171c400698db998875595f.zip |
Add form getters for additional elements; update test expectations
This adds form getters for fieldset, label, object, output, select and
textarea elements.
Diffstat (limited to 'components/script/dom/htmlselectelement.rs')
-rw-r--r-- | components/script/dom/htmlselectelement.rs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/components/script/dom/htmlselectelement.rs b/components/script/dom/htmlselectelement.rs index 6245b25daa3..48aea7422ee 100644 --- a/components/script/dom/htmlselectelement.rs +++ b/components/script/dom/htmlselectelement.rs @@ -5,15 +5,16 @@ use dom::attr::{Attr, AttrValue}; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding; use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementMethods; -use dom::bindings::codegen::InheritTypes::{HTMLElementCast, NodeCast}; +use dom::bindings::codegen::InheritTypes::{ElementCast, HTMLElementCast, NodeCast}; use dom::bindings::codegen::InheritTypes::{HTMLFieldSetElementDerived, HTMLSelectElementDerived}; use dom::bindings::codegen::UnionTypes::HTMLElementOrLong; use dom::bindings::codegen::UnionTypes::HTMLOptionElementOrHTMLOptGroupElement; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::{AttributeMutation, ElementTypeId}; +use dom::element::{AttributeMutation, Element, ElementTypeId}; use dom::eventtarget::{EventTarget, EventTargetTypeId}; use dom::htmlelement::{HTMLElement, HTMLElementTypeId}; +use dom::htmlformelement::{FormControl, HTMLFormElement}; use dom::node::{Node, NodeTypeId, window_from_node}; use dom::validitystate::ValidityState; use dom::virtualmethods::VirtualMethods; @@ -73,6 +74,11 @@ impl HTMLSelectElementMethods for HTMLSelectElement { // https://www.whatwg.org/html/#dom-fe-disabled make_bool_setter!(SetDisabled, "disabled"); + // https://html.spec.whatwg.org/multipage#dom-fae-form + fn GetForm(&self) -> Option<Root<HTMLFormElement>> { + self.form_owner() + } + // https://html.spec.whatwg.org/multipage/#dom-select-multiple make_bool_getter!(Multiple); @@ -154,3 +160,9 @@ impl VirtualMethods for HTMLSelectElement { } } } + +impl<'a> FormControl<'a> for &'a HTMLSelectElement { + fn to_element(self) -> &'a Element { + ElementCast::from_ref(self) + } +} |