diff options
author | Manish Goregaokar <manishsmail@gmail.com> | 2014-10-08 03:18:45 +0530 |
---|---|---|
committer | Manish Goregaokar <manishsmail@gmail.com> | 2014-10-08 14:37:22 +0530 |
commit | 1484acb7afc7703c1f6b3a9320d1071ad1179157 (patch) | |
tree | bb02f019e7d5b209c6930c05d84d96d1e38ec21f /components/script/dom/htmlformelement.rs | |
parent | 3a1f9bd7fb12b73c9a1c231ba061d74241958135 (diff) | |
download | servo-1484acb7afc7703c1f6b3a9320d1071ad1179157.tar.gz servo-1484acb7afc7703c1f6b3a9320d1071ad1179157.zip |
Address review comments
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rw-r--r-- | components/script/dom/htmlformelement.rs | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 964b17e0784..7b2ee466bab 100644 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -11,7 +11,7 @@ use dom::document::Document; use dom::element::{Element, AttributeHandlers, HTMLFormElementTypeId}; use dom::eventtarget::{EventTarget, NodeTargetTypeId}; use dom::htmlelement::HTMLElement; -use dom::node::{Node, ElementNodeTypeId}; +use dom::node::{Node, ElementNodeTypeId, window_from_node}; use servo_util::str::DOMString; use std::ascii::OwnedStrAsciiExt; @@ -50,7 +50,17 @@ impl<'a> HTMLFormElementMethods for JSRef<'a, HTMLFormElement> { make_setter!(SetAcceptCharset, "accept-charset") // https://html.spec.whatwg.org/multipage/forms.html#dom-fs-action - make_url_getter!(Action) + fn Action(self) -> DOMString { + let element: JSRef<Element> = ElementCast::from_ref(self); + let url = element.get_url_attribute("src"); + match url.as_slice() { + "" => { + let window = window_from_node(self).root(); + window.get_url().serialize() + }, + _ => url + } + } // https://html.spec.whatwg.org/multipage/forms.html#dom-fs-action make_setter!(SetAction, "action") @@ -126,6 +136,7 @@ impl<'a> HTMLFormElementMethods for JSRef<'a, HTMLFormElement> { // https://html.spec.whatwg.org/multipage/forms.html#dom-fs-target make_setter!(SetTarget, "target") } + impl Reflectable for HTMLFormElement { fn reflector<'a>(&'a self) -> &'a Reflector { self.htmlelement.reflector() |