diff options
author | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-05-27 18:31:16 +0900 |
---|---|---|
committer | Tetsuharu OHZEKI <saneyuki.snyk@gmail.com> | 2014-05-27 18:39:32 +0900 |
commit | b22f6e1f81de20ed8f990f3b128577c0df43a035 (patch) | |
tree | 1071816381e6cf95146be8d52ecba05fee243186 /src | |
parent | 7f2d551e4743d3c466ecff3462926b35917d03d6 (diff) | |
download | servo-b22f6e1f81de20ed8f990f3b128577c0df43a035.tar.gz servo-b22f6e1f81de20ed8f990f3b128577c0df43a035.zip |
Clean up AttributeHandlers::get_attribute() for JSRef.
Diffstat (limited to 'src')
-rw-r--r-- | src/components/script/dom/element.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs index c1fbc84af9d..0a6320b5bb0 100644 --- a/src/components/script/dom/element.rs +++ b/src/components/script/dom/element.rs @@ -229,15 +229,18 @@ pub trait AttributeHandlers { impl<'a> AttributeHandlers for JSRef<'a, Element> { fn get_attribute(&self, namespace: Namespace, name: &str) -> Option<Temporary<Attr>> { - if self.html_element_in_html_document() { - self.deref().attrs.iter().map(|attr| attr.root()).find(|attr| { - name.to_ascii_lower() == attr.local_name && attr.namespace == namespace - }).map(|x| Temporary::from_rooted(&*x)) - } else { - self.deref().attrs.iter().map(|attr| attr.root()).find(|attr| { - name == attr.local_name && attr.namespace == namespace - }).map(|x| Temporary::from_rooted(&*x)) - } + let element: &Element = self.deref(); + let is_html_element = self.html_element_in_html_document(); + + element.attrs.iter().map(|attr| attr.root()).find(|attr| { + let same_name = if is_html_element { + name.to_ascii_lower() == attr.local_name + } else { + name == attr.local_name + }; + + same_name && attr.namespace == namespace + }).map(|x| Temporary::from_rooted(&*x)) } fn set_attribute_from_parser(&mut self, local_name: DOMString, |