Privatize Element

This commit is contained in:
Tim Taubert 2014-10-13 11:11:05 +02:00
parent cd9de05088
commit cbe50f1f14
8 changed files with 72 additions and 41 deletions

View file

@ -425,7 +425,7 @@ pub struct LayoutElement<'le> {
impl<'le> LayoutElement<'le> {
pub fn style_attribute(&self) -> &'le Option<PropertyDeclarationBlock> {
let style: &Option<PropertyDeclarationBlock> = unsafe {
let style: &RefCell<Option<PropertyDeclarationBlock>> = &self.element.style_attribute;
let style: &RefCell<Option<PropertyDeclarationBlock>> = self.element.style_attribute();
// cast to the direct reference to T placed on the head of RefCell<T>
mem::transmute(style)
};
@ -436,12 +436,12 @@ impl<'le> LayoutElement<'le> {
impl<'le> TElement<'le> for LayoutElement<'le> {
#[inline]
fn get_local_name(self) -> &'le Atom {
&self.element.local_name
self.element.local_name()
}
#[inline]
fn get_namespace(self) -> &'le Namespace {
&self.element.namespace
self.element.namespace()
}
#[inline]
@ -456,7 +456,7 @@ impl<'le> TElement<'le> for LayoutElement<'le> {
fn get_link(self) -> Option<&'le str> {
// FIXME: This is HTML only.
match self.element.node.type_id_for_layout() {
match self.element.node().type_id_for_layout() {
// http://www.whatwg.org/specs/web-apps/current-work/multipage/selectors.html#
// selector-link
ElementNodeTypeId(HTMLAnchorElementTypeId) |
@ -470,7 +470,7 @@ impl<'le> TElement<'le> for LayoutElement<'le> {
fn get_hover_state(self) -> bool {
unsafe {
self.element.node.get_hover_state_for_layout()
self.element.node().get_hover_state_for_layout()
}
}
@ -481,13 +481,13 @@ impl<'le> TElement<'le> for LayoutElement<'le> {
fn get_disabled_state(self) -> bool {
unsafe {
self.element.node.get_disabled_state_for_layout()
self.element.node().get_disabled_state_for_layout()
}
}
fn get_enabled_state(self) -> bool {
unsafe {
self.element.node.get_enabled_state_for_layout()
self.element.node().get_enabled_state_for_layout()
}
}