aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorMaciej Skrzypkowski <m.skrzypkows@samsung.com>2015-04-07 15:05:59 +0200
committerMaciej Skrzypkowski <m.skrzypkows@samsung.com>2015-04-21 16:08:15 +0200
commit6a31a75bc622d6ed151c974adb55df95cfeb6488 (patch)
tree0c19b29a9ae8a9c111b56ccf7b5c65417314adae /components/script/dom
parentbdcf606f4802e5b1ab3ee251b45ee1e81800359a (diff)
downloadservo-6a31a75bc622d6ed151c974adb55df95cfeb6488.tar.gz
servo-6a31a75bc622d6ed151c974adb55df95cfeb6488.zip
Refactoring, added conversion to lowercase for get_attribute_by_name method. (fixes #5561)
Diffstat (limited to 'components/script/dom')
-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 e3abbc5ee1a..efc5d5de1ac 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -452,7 +452,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()
@@ -655,7 +654,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,
@@ -706,7 +705,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())
@@ -714,7 +715,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();
@@ -1047,8 +1047,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