From 9cc1e017ee3991692a2d0f657c59c21f93d46dc6 Mon Sep 17 00:00:00 2001 From: Ms2ger Date: Wed, 22 Jul 2015 18:28:17 +0200 Subject: [PATCH] Move local_name and namespace to LayoutJS. --- components/layout/wrapper.rs | 9 ++------- components/script/dom/element.rs | 24 ++++++++++++++++-------- 2 files changed, 18 insertions(+), 15 deletions(-) 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)]