aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/css/node_style.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/css/node_style.rs')
-rw-r--r--components/layout/css/node_style.rs30
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()
+ }
+}
+