diff options
Diffstat (limited to 'components/layout/css/node_style.rs')
-rw-r--r-- | components/layout/css/node_style.rs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/components/layout/css/node_style.rs b/components/layout/css/node_style.rs new file mode 100644 index 00000000000..e201b0050aa --- /dev/null +++ b/components/layout/css/node_style.rs @@ -0,0 +1,30 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// Style retrieval from DOM elements. + +use css::node_util::NodeUtil; +use incremental::RestyleDamage; +use wrapper::ThreadSafeLayoutNode; + +use style::ComputedValues; +use sync::Arc; + +/// Node mixin providing `style` method that returns a `NodeStyle` +pub trait StyledNode { + fn style<'a>(&'a self) -> &'a Arc<ComputedValues>; + fn restyle_damage(&self) -> RestyleDamage; +} + +impl<'ln> StyledNode for ThreadSafeLayoutNode<'ln> { + #[inline] + fn style<'a>(&'a self) -> &'a Arc<ComputedValues> { + self.get_css_select_results() + } + + fn restyle_damage(&self) -> RestyleDamage { + self.get_restyle_damage() + } +} + |