diff options
author | bors-servo <metajack+bors@gmail.com> | 2015-09-28 13:23:18 -0600 |
---|---|---|
committer | bors-servo <metajack+bors@gmail.com> | 2015-09-28 13:23:18 -0600 |
commit | a72d7a4f5222d029a34b2b4a7da21ebe095fde53 (patch) | |
tree | 0e8477f4444193b2e46d330865585b7e8779577f /components/script/dom/htmlselectelement.rs | |
parent | 076f44a02d033bb5d0bb2e18065acdf18d98cce5 (diff) | |
parent | e6ea7b0feb302786c6bbd88c62e89f95fdb5782a (diff) | |
download | servo-a72d7a4f5222d029a34b2b4a7da21ebe095fde53.tar.gz servo-a72d7a4f5222d029a34b2b4a7da21ebe095fde53.zip |
Auto merge of #7760 - aopicier:form_getter, r=Manishearth
Add form getters for additional elements; update test expectations
This adds form getters for fieldset, label, object, output, select and
textarea elements.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7760)
<!-- Reviewable:end -->
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) + } +} |