aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/css/node_style.rs
blob: e201b0050aa9d704d0c73c2303612b39f5d21573 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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()
    }
}