diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index b4e78319135..fe374aa4b25 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -402,17 +402,12 @@ impl<'le> ::selectors::Element for LayoutElement<'le> { #[inline] fn get_local_name<'a>(&'a self) -> &'a Atom { - unsafe { - (*self.element.unsafe_get()).local_name() - } + self.element.local_name() } #[inline] fn get_namespace<'a>(&'a self) -> &'a Namespace { - use script::dom::element::ElementHelpers; - unsafe { - (*self.element.unsafe_get()).namespace() - } + self.element.namespace() } fn is_link(&self) -> bool { diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 85fe33aa5b5..a5fc6f955da 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -181,8 +181,6 @@ pub trait RawLayoutElementHelpers { unsafe fn get_indeterminate_state_for_layout(&self) -> bool; unsafe fn get_unsigned_integer_attribute_for_layout(&self, attribute: UnsignedIntegerAttribute) -> Option; - - fn local_name<'a>(&'a self) -> &'a Atom; } #[inline] @@ -498,12 +496,6 @@ impl RawLayoutElementHelpers for Element { } } } - - // Getters used in components/layout/wrapper.rs - - fn local_name<'a>(&'a self) -> &'a Atom { - &self.local_name - } } pub trait LayoutElementHelpers { @@ -512,6 +504,8 @@ pub trait LayoutElementHelpers { #[allow(unsafe_code)] unsafe fn has_attr_for_layout(&self, namespace: &Namespace, name: &Atom) -> bool; fn style_attribute(&self) -> *const Option; + fn local_name<'a>(&'a self) -> &'a Atom; + fn namespace<'a>(&'a self) -> &'a Namespace; } impl LayoutElementHelpers for LayoutJS { @@ -536,6 +530,20 @@ impl LayoutElementHelpers for LayoutJS { (*self.unsafe_get()).style_attribute.borrow_for_layout() } } + + #[allow(unsafe_code)] + fn local_name<'a>(&'a self) -> &'a Atom { + unsafe { + &(*self.unsafe_get()).local_name + } + } + + #[allow(unsafe_code)] + fn namespace<'a>(&'a self) -> &'a Namespace { + unsafe { + &(*self.unsafe_get()).namespace + } + } } #[derive(PartialEq)]