diff options
-rw-r--r-- | components/layout/wrapper.rs | 18 | ||||
-rw-r--r-- | components/script/dom/node.rs | 42 |
2 files changed, 26 insertions, 34 deletions
diff --git a/components/layout/wrapper.rs b/components/layout/wrapper.rs index 762f7dba2a0..35bb53865f2 100644 --- a/components/layout/wrapper.rs +++ b/components/layout/wrapper.rs @@ -53,7 +53,7 @@ use script::dom::htmlimageelement::LayoutHTMLImageElementHelpers; use script::dom::htmlinputelement::{HTMLInputElement, LayoutHTMLInputElementHelpers}; use script::dom::htmltextareaelement::LayoutHTMLTextAreaElementHelpers; use script::dom::node::{Node, NodeTypeId}; -use script::dom::node::{LayoutNodeHelpers, RawLayoutNodeHelpers, SharedLayoutData}; +use script::dom::node::{LayoutNodeHelpers, SharedLayoutData}; use script::dom::node::{HAS_CHANGED, IS_DIRTY, HAS_DIRTY_SIBLINGS, HAS_DIRTY_DESCENDANTS}; use script::dom::text::Text; use smallvec::VecLike; @@ -439,17 +439,13 @@ impl<'le> ::selectors::Element for LayoutElement<'le> { #[inline] fn get_hover_state(&self) -> bool { let node = NodeCast::from_layout_js(&self.element); - unsafe { - (*node.unsafe_get()).get_hover_state_for_layout() - } + node.get_hover_state_for_layout() } #[inline] fn get_focus_state(&self) -> bool { let node = NodeCast::from_layout_js(&self.element); - unsafe { - (*node.unsafe_get()).get_focus_state_for_layout() - } + node.get_focus_state_for_layout() } #[inline] @@ -462,17 +458,13 @@ impl<'le> ::selectors::Element for LayoutElement<'le> { #[inline] fn get_disabled_state(&self) -> bool { let node = NodeCast::from_layout_js(&self.element); - unsafe { - (*node.unsafe_get()).get_disabled_state_for_layout() - } + node.get_disabled_state_for_layout() } #[inline] fn get_enabled_state(&self) -> bool { let node = NodeCast::from_layout_js(&self.element); - unsafe { - (*node.unsafe_get()).get_enabled_state_for_layout() - } + node.get_enabled_state_for_layout() } #[inline] diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs index 81b2a8bbae4..822d7125623 100644 --- a/components/script/dom/node.rs +++ b/components/script/dom/node.rs @@ -1085,6 +1085,11 @@ pub trait LayoutNodeHelpers { unsafe fn layout_data_mut(&self) -> RefMut<Option<LayoutData>>; #[allow(unsafe_code)] unsafe fn layout_data_unchecked(&self) -> *const Option<LayoutData>; + + fn get_hover_state_for_layout(&self) -> bool; + fn get_focus_state_for_layout(&self) -> bool; + fn get_disabled_state_for_layout(&self) -> bool; + fn get_enabled_state_for_layout(&self) -> bool; } impl LayoutNodeHelpers for LayoutJS<Node> { @@ -1174,39 +1179,34 @@ impl LayoutNodeHelpers for LayoutJS<Node> { unsafe fn layout_data_unchecked(&self) -> *const Option<LayoutData> { (*self.unsafe_get()).layout_data.borrow_unchecked() } -} - -pub trait RawLayoutNodeHelpers { - #[allow(unsafe_code)] - unsafe fn get_hover_state_for_layout(&self) -> bool; - #[allow(unsafe_code)] - unsafe fn get_focus_state_for_layout(&self) -> bool; - #[allow(unsafe_code)] - unsafe fn get_disabled_state_for_layout(&self) -> bool; - #[allow(unsafe_code)] - unsafe fn get_enabled_state_for_layout(&self) -> bool; -} -impl RawLayoutNodeHelpers for Node { #[inline] #[allow(unsafe_code)] - unsafe fn get_hover_state_for_layout(&self) -> bool { - self.flags.get().contains(IN_HOVER_STATE) + fn get_hover_state_for_layout(&self) -> bool { + unsafe { + self.get_flag(IN_HOVER_STATE) + } } #[inline] #[allow(unsafe_code)] - unsafe fn get_focus_state_for_layout(&self) -> bool { - self.flags.get().contains(IN_FOCUS_STATE) + fn get_focus_state_for_layout(&self) -> bool { + unsafe { + self.get_flag(IN_FOCUS_STATE) + } } #[inline] #[allow(unsafe_code)] - unsafe fn get_disabled_state_for_layout(&self) -> bool { - self.flags.get().contains(IN_DISABLED_STATE) + fn get_disabled_state_for_layout(&self) -> bool { + unsafe { + self.get_flag(IN_DISABLED_STATE) + } } #[inline] #[allow(unsafe_code)] - unsafe fn get_enabled_state_for_layout(&self) -> bool { - self.flags.get().contains(IN_ENABLED_STATE) + fn get_enabled_state_for_layout(&self) -> bool { + unsafe { + self.get_flag(IN_ENABLED_STATE) + } } } |