From 4108af0c113fcbd64abf2a1cf71026c2f7a653d3 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Sat, 25 Apr 2015 15:13:03 +0200 Subject: [PATCH] Introduce AttrValue::atom(). --- components/script/dom/attr.rs | 7 +++++++ 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);