diff options
Diffstat (limited to 'components/script/dom/htmloutputelement.rs')
-rw-r--r-- | components/script/dom/htmloutputelement.rs | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/components/script/dom/htmloutputelement.rs b/components/script/dom/htmloutputelement.rs index 0b69f99ce0a..781ba2f9e83 100644 --- a/components/script/dom/htmloutputelement.rs +++ b/components/script/dom/htmloutputelement.rs @@ -4,12 +4,14 @@ use dom::bindings::codegen::Bindings::HTMLOutputElementBinding; use dom::bindings::codegen::Bindings::HTMLOutputElementBinding::HTMLOutputElementMethods; +use dom::bindings::codegen::InheritTypes::ElementCast; use dom::bindings::codegen::InheritTypes::HTMLOutputElementDerived; use dom::bindings::js::Root; use dom::document::Document; -use dom::element::ElementTypeId; +use dom::element::{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 util::str::DOMString; @@ -52,4 +54,15 @@ impl HTMLOutputElementMethods for HTMLOutputElement { let window = window_from_node(self); ValidityState::new(window.r()) } + + // https://html.spec.whatwg.org/multipage#dom-fae-form + fn GetForm(&self) -> Option<Root<HTMLFormElement>> { + self.form_owner() + } +} + +impl<'a> FormControl<'a> for &'a HTMLOutputElement { + fn to_element(self) -> &'a Element { + ElementCast::from_ref(self) + } } |