aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorbors-servo <release+servo@mozilla.com>2014-01-01 13:19:16 -0800
committerbors-servo <release+servo@mozilla.com>2014-01-01 13:19:16 -0800
commit2b487ed3e984c0ec48ee8240ace78ec80ff94853 (patch)
treed83cf597eb5cf7f455ab83ab0ed7d76b9cc360fd /src
parentbe8ed3256298f9acea18a3c1159652974ca90af8 (diff)
parent886ab020d8dc03d0bc1f1c1be37eff5057551c5f (diff)
downloadservo-2b487ed3e984c0ec48ee8240ace78ec80ff94853.tar.gz
servo-2b487ed3e984c0ec48ee8240ace78ec80ff94853.zip
auto merge of #1439 : Ms2ger/servo/reflection-methods, r=jdm
Diffstat (limited to 'src')
-rw-r--r--src/components/script/dom/element.rs30
-rw-r--r--src/components/script/dom/htmliframeelement.rs8
-rw-r--r--src/components/script/dom/htmlscriptelement.rs7
3 files changed, 29 insertions, 16 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index ba08e3660c6..0d2229c6791 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -280,20 +280,40 @@ impl<'self> Element {
}
}
+// http://www.whatwg.org/html/#reflecting-content-attributes-in-idl-attributes
impl Element {
- pub fn TagName(&self) -> DOMString {
- self.tag_name.to_ascii_upper()
+ pub fn get_url_attribute(&self, name: &str) -> DOMString {
+ // XXX Resolve URL.
+ self.get_string_attribute(name)
+ }
+ pub fn set_url_attribute(&mut self, abstract_self: AbstractNode,
+ name: &str, value: DOMString) {
+ self.set_string_attribute(abstract_self, name, value);
}
- pub fn Id(&self, _abstract_self: AbstractNode) -> DOMString {
- match self.get_attr(Null, "id") {
+ pub fn get_string_attribute(&self, name: &str) -> DOMString {
+ match self.get_attr(Null, name) {
Some(x) => x,
None => ~""
}
}
+ pub fn set_string_attribute(&mut self, abstract_self: AbstractNode,
+ name: &str, value: DOMString) {
+ self.set_attribute(abstract_self, Null, name.to_owned(), value);
+ }
+}
+
+impl Element {
+ pub fn TagName(&self) -> DOMString {
+ self.tag_name.to_ascii_upper()
+ }
+
+ pub fn Id(&self, _abstract_self: AbstractNode) -> DOMString {
+ self.get_string_attribute("id")
+ }
pub fn SetId(&mut self, abstract_self: AbstractNode, id: DOMString) {
- self.set_attribute(abstract_self, namespace::Null, ~"id", id);
+ self.set_string_attribute(abstract_self, "id", id);
}
pub fn Attributes(&mut self, abstract_self: AbstractNode) -> @mut AttrList {
diff --git a/src/components/script/dom/htmliframeelement.rs b/src/components/script/dom/htmliframeelement.rs
index b41dd2c773e..f263444a335 100644
--- a/src/components/script/dom/htmliframeelement.rs
+++ b/src/components/script/dom/htmliframeelement.rs
@@ -84,14 +84,12 @@ impl HTMLIFrameElement {
}
pub fn Sandbox(&self, _abstract_self: AbstractNode) -> DOMString {
- match self.htmlelement.element.GetAttribute(~"sandbox") {
- Some(s) => s.to_owned(),
- None => ~"",
- }
+ self.htmlelement.element.get_string_attribute("sandbox")
}
pub fn SetSandbox(&mut self, abstract_self: AbstractNode, sandbox: DOMString) {
- self.htmlelement.element.SetAttribute(abstract_self, ~"sandbox", sandbox);
+ self.htmlelement.element.set_string_attribute(abstract_self, "sandbox",
+ sandbox);
}
pub fn AfterSetAttr(&mut self, name: DOMString, value: DOMString) {
diff --git a/src/components/script/dom/htmlscriptelement.rs b/src/components/script/dom/htmlscriptelement.rs
index 7405db82b29..604fe714322 100644
--- a/src/components/script/dom/htmlscriptelement.rs
+++ b/src/components/script/dom/htmlscriptelement.rs
@@ -7,9 +7,7 @@ use dom::bindings::utils::{DOMString, ErrorResult};
use dom::document::AbstractDocument;
use dom::element::HTMLScriptElementTypeId;
use dom::htmlelement::HTMLElement;
-use dom::namespace::Null;
use dom::node::{AbstractNode, Node};
-use style::TElement;
pub struct HTMLScriptElement {
htmlelement: HTMLElement,
@@ -30,10 +28,7 @@ impl HTMLScriptElement {
impl HTMLScriptElement {
pub fn Src(&self) -> DOMString {
- match self.htmlelement.element.get_attr(Null, "src") {
- Some(s) => s.to_owned(),
- None => ~""
- }
+ self.htmlelement.element.get_url_attribute("src")
}
pub fn SetSrc(&mut self, _src: DOMString) -> ErrorResult {