Move local_name and namespace to LayoutJS<Element>.

This commit is contained in:
Ms2ger 2015-07-22 18:28:17 +02:00
parent 23c679d55a
commit 9cc1e017ee
2 changed files with 18 additions and 15 deletions

View file

@ -402,17 +402,12 @@ impl<'le> ::selectors::Element for LayoutElement<'le> {
#[inline] #[inline]
fn get_local_name<'a>(&'a self) -> &'a Atom { fn get_local_name<'a>(&'a self) -> &'a Atom {
unsafe { self.element.local_name()
(*self.element.unsafe_get()).local_name()
}
} }
#[inline] #[inline]
fn get_namespace<'a>(&'a self) -> &'a Namespace { fn get_namespace<'a>(&'a self) -> &'a Namespace {
use script::dom::element::ElementHelpers; self.element.namespace()
unsafe {
(*self.element.unsafe_get()).namespace()
}
} }
fn is_link(&self) -> bool { fn is_link(&self) -> bool {

View file

@ -181,8 +181,6 @@ pub trait RawLayoutElementHelpers {
unsafe fn get_indeterminate_state_for_layout(&self) -> bool; unsafe fn get_indeterminate_state_for_layout(&self) -> bool;
unsafe fn get_unsigned_integer_attribute_for_layout(&self, attribute: UnsignedIntegerAttribute) unsafe fn get_unsigned_integer_attribute_for_layout(&self, attribute: UnsignedIntegerAttribute)
-> Option<u32>; -> Option<u32>;
fn local_name<'a>(&'a self) -> &'a Atom;
} }
#[inline] #[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 { pub trait LayoutElementHelpers {
@ -512,6 +504,8 @@ pub trait LayoutElementHelpers {
#[allow(unsafe_code)] #[allow(unsafe_code)]
unsafe fn has_attr_for_layout(&self, namespace: &Namespace, name: &Atom) -> bool; unsafe fn has_attr_for_layout(&self, namespace: &Namespace, name: &Atom) -> bool;
fn style_attribute(&self) -> *const Option<PropertyDeclarationBlock>; fn style_attribute(&self) -> *const Option<PropertyDeclarationBlock>;
fn local_name<'a>(&'a self) -> &'a Atom;
fn namespace<'a>(&'a self) -> &'a Namespace;
} }
impl LayoutElementHelpers for LayoutJS<Element> { impl LayoutElementHelpers for LayoutJS<Element> {
@ -536,6 +530,20 @@ impl LayoutElementHelpers for LayoutJS<Element> {
(*self.unsafe_get()).style_attribute.borrow_for_layout() (*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)] #[derive(PartialEq)]