aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/htmlformelement.rs
diff options
context:
space:
mode:
authorManish Goregaokar <manishsmail@gmail.com>2014-10-08 03:18:45 +0530
committerManish Goregaokar <manishsmail@gmail.com>2014-10-08 14:37:22 +0530
commit1484acb7afc7703c1f6b3a9320d1071ad1179157 (patch)
treebb02f019e7d5b209c6930c05d84d96d1e38ec21f /components/script/dom/htmlformelement.rs
parent3a1f9bd7fb12b73c9a1c231ba061d74241958135 (diff)
downloadservo-1484acb7afc7703c1f6b3a9320d1071ad1179157.tar.gz
servo-1484acb7afc7703c1f6b3a9320d1071ad1179157.zip
Address review comments
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rw-r--r--components/script/dom/htmlformelement.rs15
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()