aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorMs2ger <ms2ger@gmail.com>2015-04-25 15:13:03 +0200
committerMs2ger <ms2ger@gmail.com>2015-04-25 15:13:03 +0200
commit4108af0c113fcbd64abf2a1cf71026c2f7a653d3 (patch)
tree7518bdf4992e99ed079aa37cf1751f3acc174d6c /components/script/dom
parentf010c8331304dcdd40f40fe844087399078532d0 (diff)
downloadservo-4108af0c113fcbd64abf2a1cf71026c2f7a653d3.tar.gz
servo-4108af0c113fcbd64abf2a1cf71026c2f7a653d3.zip
Introduce AttrValue::atom().
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/attr.rs7
-rw-r--r--components/script/dom/element.rs4
2 files changed, 9 insertions, 2 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs
index 55ad525bba3..1820a854cd8 100644
--- a/components/script/dom/attr.rs
+++ b/components/script/dom/attr.rs
@@ -70,6 +70,13 @@ impl AttrValue {
_ => None
}
}
+
+ pub fn atom<'a>(&'a self) -> Option<&'a Atom> {
+ match *self {
+ AttrValue::Atom(ref value) => Some(value),
+ _ => None
+ }
+ }
}
impl Str for AttrValue {
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index f47651629e6..a9282d829b8 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -1385,7 +1385,7 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
if node.is_in_doc() {
let doc = document_from_node(*self).root();
if !value.as_slice().is_empty() {
- let value = Atom::from_slice(value.as_slice());
+ let value = value.atom().unwrap().clone();
doc.r().register_named_element(*self, value);
}
doc.r().content_changed(node, NodeDamage::NodeStyleDamaged);
@@ -1423,7 +1423,7 @@ impl<'a> VirtualMethods for JSRef<'a, Element> {
if node.is_in_doc() {
let doc = document_from_node(*self).root();
if !value.as_slice().is_empty() {
- let value = Atom::from_slice(value.as_slice());
+ let value = value.atom().unwrap().clone();
doc.r().unregister_named_element(*self, value);
}
doc.r().content_changed(node, NodeDamage::NodeStyleDamaged);