aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/script/dom/element.rs
diff options
context:
space:
mode:
authorGlenn Watson <gw@intuitionlibrary.com>2014-07-25 08:04:10 +1000
committerGlenn Watson <gw@intuitionlibrary.com>2014-07-25 08:04:10 +1000
commita270d40a216acd3ae483f24a9c4793e741404448 (patch)
tree8b3d1abb2a326c633d2cc3d54379ab4efdc92416 /src/components/script/dom/element.rs
parent036bd29eadd56fc65271f835978d81ece129da94 (diff)
downloadservo-a270d40a216acd3ae483f24a9c4793e741404448.tar.gz
servo-a270d40a216acd3ae483f24a9c4793e741404448.zip
Convert to atom earlier in SetAttributeNS
Diffstat (limited to 'src/components/script/dom/element.rs')
-rw-r--r--src/components/script/dom/element.rs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/components/script/dom/element.rs b/src/components/script/dom/element.rs
index 51930e48338..5401bf31ef3 100644
--- a/src/components/script/dom/element.rs
+++ b/src/components/script/dom/element.rs
@@ -627,19 +627,22 @@ impl<'a> ElementMethods for JSRef<'a, Element> {
None => {}
}
+ let name = Atom::from_slice(name.as_slice());
+ let xmlns = Atom::from_slice("xmlns"); // TODO: Make this a static atom type
+
// Step 7a.
- if "xmlns" == name.as_slice() && namespace != namespace::XMLNS {
+ if xmlns == name && namespace != namespace::XMLNS {
return Err(NamespaceError);
}
// Step 8.
- if namespace == namespace::XMLNS && "xmlns" != name.as_slice() && Some("xmlns") != prefix {
+ if namespace == namespace::XMLNS && xmlns != name && Some("xmlns") != prefix {
return Err(NamespaceError);
}
// Step 9.
let value = self.parse_attribute(&namespace, local_name.as_slice(), value);
- self.do_set_attribute(local_name.to_string(), value, Atom::from_slice(name.as_slice()),
+ self.do_set_attribute(local_name.to_string(), value, name,
namespace.clone(), prefix.map(|s| s.to_string()),
|attr| {
attr.deref().local_name.as_slice() == local_name &&