aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom
diff options
context:
space:
mode:
authorTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-05-27 18:31:16 +0900
committerTetsuharu OHZEKI <saneyuki.snyk@gmail.com>2014-05-27 18:39:32 +0900
commitb22f6e1f81de20ed8f990f3b128577c0df43a035 (patch)
tree1071816381e6cf95146be8d52ecba05fee243186 /src/components/script/dom
parent7f2d551e4743d3c466ecff3462926b35917d03d6 (diff)
downloadservo-b22f6e1f81de20ed8f990f3b128577c0df43a035.tar.gz
servo-b22f6e1f81de20ed8f990f3b128577c0df43a035.zip
Clean up AttributeHandlers::get_attribute() for JSRef.
Diffstat (limited to 'src/components/script/dom')
-rw-r--r--src/components/script/dom/element.rs21
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,