diff options
Diffstat (limited to 'components/script/dom/attr.rs')
-rw-r--r-- | components/script/dom/attr.rs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index 7482e200d68..02945088bbb 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -110,10 +110,6 @@ impl Attr { let attr = Attr::new_inherited(local_name, value, name, namespace, prefix, owner); reflect_dom_object(box attr, &Window(*window), AttrBinding::Wrap) } - - pub fn local_name<'a>(&'a self) -> &'a Atom { - &self.local_name - } } impl<'a> AttrMethods for JSRef<'a, Attr> { @@ -151,6 +147,7 @@ impl<'a> AttrMethods for JSRef<'a, Attr> { pub trait AttrHelpers { fn set_value(&self, set_type: AttrSettingType, value: AttrValue); fn value<'a>(&'a self) -> Ref<'a, AttrValue>; + fn local_name<'a>(&'a self) -> &'a Atom; } impl<'a> AttrHelpers for JSRef<'a, Attr> { @@ -182,11 +179,16 @@ impl<'a> AttrHelpers for JSRef<'a, Attr> { fn value<'a>(&'a self) -> Ref<'a, AttrValue> { self.value.deref().borrow() } + + fn local_name<'a>(&'a self) -> &'a Atom { + &self.local_name + } } pub trait AttrHelpersForLayout { unsafe fn value_ref_forever(&self) -> &'static str; unsafe fn value_atom_forever(&self) -> Option<Atom>; + unsafe fn local_name_atom_forever(&self) -> Atom; } impl AttrHelpersForLayout for Attr { @@ -204,4 +206,8 @@ impl AttrHelpersForLayout for Attr { _ => None, } } + + unsafe fn local_name_atom_forever(&self) -> Atom { + self.local_name.clone() + } } |