From 47c9f1912150b41695810f6c987f0ca208547bd4 Mon Sep 17 00:00:00 2001 From: Anthony Ramine Date: Tue, 31 Mar 2020 14:02:14 +0200 Subject: [PATCH] Don't clone the result of AttrHelpersForLayout::local_name There is no need to do that. Embrace returning borrows from the DOM, it good. --- components/script/dom/attr.rs | 6 +++--- components/script/dom/element.rs | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) 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