diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index b641fa5d615..a9f832b97bb 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -237,7 +237,7 @@ pub trait AttrHelpersForLayout<'dom> { fn value(self) -> &'dom AttrValue; fn as_str(self) -> &'dom str; fn as_tokens(self) -> Option<&'dom [Atom]>; - fn local_name(self) -> LocalName; + fn local_name(self) -> &'dom LocalName; } #[allow(unsafe_code)] @@ -262,7 +262,7 @@ impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { } #[inline] - fn local_name(self) -> LocalName { - unsafe { self.unsafe_get().identifier.local_name.clone() } + fn local_name(self) -> &'dom LocalName { + unsafe { &self.unsafe_get().identifier.local_name } } } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 35f952a676c..6875d302e67 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -578,7 +578,7 @@ pub unsafe fn get_attr_for_layout<'dom>( .iter() .find(|attr| { let attr = attr.to_layout(); - *name == attr.local_name() && (*attr.unsafe_get()).namespace() == namespace + name == attr.local_name() && (*attr.unsafe_get()).namespace() == namespace }) .map(|attr| attr.to_layout()) } @@ -610,7 +610,7 @@ impl RawLayoutElementHelpers for Element { .iter() .filter_map(|attr| { let attr = attr.to_layout(); - if *name == attr.local_name() { + if name == attr.local_name() { Some(attr.value()) } else { None