aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <metajack+bors@gmail.com>2015-04-21 10:23:03 -0500
committerbors-servo <metajack+bors@gmail.com>2015-04-21 10:23:03 -0500
commita3dafe49999d24e12b2f6b5cc74b468e58b7384a (patch)
tree09b283ff6839a268c573c1784b3a94bf98b95235
parent3c4ca28a65b7007d25760c762a6723c655a0423f (diff)
parent6a31a75bc622d6ed151c974adb55df95cfeb6488 (diff)
downloadservo-a3dafe49999d24e12b2f6b5cc74b468e58b7384a.tar.gz
servo-a3dafe49999d24e12b2f6b5cc74b468e58b7384a.zip
Auto merge of #5594 - mskrzypkows:get_attribute_by_name, r=Ms2ger
<!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5594) <!-- Reviewable:end -->
-rw-r--r--components/script/dom/element.rs11
-rw-r--r--components/script/dom/namednodemap.rs3
2 files changed, 6 insertions, 8 deletions
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 88366f591d2..f47651629e6 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -435,7 +435,6 @@ impl<'a> ElementHelpers<'a> for JSRef<'a, Element> {
&self.extended_deref().local_name
}
- // https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
fn parsed_name(self, name: DOMString) -> DOMString {
if self.html_element_in_html_document() {
name.to_ascii_lowercase()
@@ -664,7 +663,7 @@ pub trait AttributeHandlers {
-> Option<Temporary<Attr>>;
/// Returns the first attribute with any namespace and given case-sensitive
/// name, if any.
- fn get_attribute_by_name(self, name: &Atom) -> Option<Temporary<Attr>>;
+ fn get_attribute_by_name(self, name: DOMString) -> Option<Temporary<Attr>>;
fn get_attributes(self, local_name: &Atom)
-> Vec<Temporary<Attr>>;
fn set_attribute_from_parser(self,
@@ -715,7 +714,9 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
.map(|x| Temporary::from_rooted(x.r()))
}
- fn get_attribute_by_name(self, name: &Atom) -> Option<Temporary<Attr>> {
+ // https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
+ fn get_attribute_by_name(self, name: DOMString) -> Option<Temporary<Attr>> {
+ let name = &Atom::from_slice(&self.parsed_name(name));
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let attrs = self.attrs.borrow();
attrs.iter().map(|attr| attr.root())
@@ -723,7 +724,6 @@ impl<'a> AttributeHandlers for JSRef<'a, Element> {
.map(|x| Temporary::from_rooted(x.r()))
}
- // https://dom.spec.whatwg.org/#concept-element-attributes-get-by-name
fn get_attributes(self, local_name: &Atom) -> Vec<Temporary<Attr>> {
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let attrs = self.attrs.borrow();
@@ -1056,8 +1056,7 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
// https://dom.spec.whatwg.org/#dom-element-getattribute
fn GetAttribute(self, name: DOMString) -> Option<DOMString> {
- let name = self.parsed_name(name);
- self.get_attribute_by_name(&Atom::from_slice(&name)).root()
+ self.get_attribute_by_name(name).root()
.map(|s| s.r().Value())
}
diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs
index 50b24aafcc9..39474f32339 100644
--- a/components/script/dom/namednodemap.rs
+++ b/components/script/dom/namednodemap.rs
@@ -60,8 +60,7 @@ impl<'a> NamedNodeMapMethods for JSRef<'a, NamedNodeMap> {
let owner = self.owner.root();
// FIXME(https://github.com/rust-lang/rust/issues/23338)
let owner = owner.r();
- let name = owner.parsed_name(name);
- owner.get_attribute_by_name(&Atom::from_slice(&name))
+ owner.get_attribute_by_name(name)
}
// https://dom.spec.whatwg.org/#dom-namednodemap-getnameditemns