aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmloutputelement.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/script/dom/htmloutputelement.rs')
-rw-r--r--components/script/dom/htmloutputelement.rs15
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)
+ }
}