diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs index a9f832b97bb..cd1a98ad799 100644 --- a/components/script/dom/attr.rs +++ b/components/script/dom/attr.rs @@ -238,6 +238,7 @@ pub trait AttrHelpersForLayout<'dom> { fn as_str(self) -> &'dom str; fn as_tokens(self) -> Option<&'dom [Atom]>; fn local_name(self) -> &'dom LocalName; + fn namespace(self) -> &'dom Namespace; } #[allow(unsafe_code)] @@ -265,4 +266,9 @@ impl<'dom> AttrHelpersForLayout<'dom> for LayoutDom<'dom, Attr> { fn local_name(self) -> &'dom LocalName { unsafe { &self.unsafe_get().identifier.local_name } } + + #[inline] + fn namespace(self) -> &'dom Namespace { + unsafe { &self.unsafe_get().identifier.namespace } + } } diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 6875d302e67..7d167bf2574 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() && namespace == attr.namespace() }) .map(|attr| attr.to_layout()) }