diff options
author | Maciej Skrzypkowski <m.skrzypkows@samsung.com> | 2015-04-07 15:05:59 +0200 |
---|---|---|
committer | Maciej Skrzypkowski <m.skrzypkows@samsung.com> | 2015-04-21 16:08:15 +0200 |
commit | 6a31a75bc622d6ed151c974adb55df95cfeb6488 (patch) | |
tree | 0c19b29a9ae8a9c111b56ccf7b5c65417314adae /components/script/dom | |
parent | bdcf606f4802e5b1ab3ee251b45ee1e81800359a (diff) | |
download | servo-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.rs | 11 | ||||
-rw-r--r-- | components/script/dom/namednodemap.rs | 3 |
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 |