diff options
author | Ms2ger <ms2ger@gmail.com> | 2015-04-25 15:13:03 +0200 |
---|---|---|
committer | Ms2ger <ms2ger@gmail.com> | 2015-04-25 15:13:03 +0200 |
commit | 4108af0c113fcbd64abf2a1cf71026c2f7a653d3 (patch) | |
tree | 7518bdf4992e99ed079aa37cf1751f3acc174d6c /components/script/dom | |
parent | f010c8331304dcdd40f40fe844087399078532d0 (diff) | |
download | servo-4108af0c113fcbd64abf2a1cf71026c2f7a653d3.tar.gz servo-4108af0c113fcbd64abf2a1cf71026c2f7a653d3.zip |
Introduce AttrValue::atom().
Diffstat (limited to 'components/script/dom')
-rw-r--r-- | components/script/dom/attr.rs | 7 | ||||
-rw-r--r-- | components/script/dom/element.rs | 4 |
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); |