diff --git a/src/rust-css b/src/rust-css index a52c721657c..0762606995e 160000 --- a/src/rust-css +++ b/src/rust-css @@ -1 +1 @@ -Subproject commit a52c721657cf6ea7b76ddbd4787bf8590978c365 +Subproject commit 0762606995ef70980d4013185244e89cd3903f92 diff --git a/src/rust-netsurfcss b/src/rust-netsurfcss index 31697a75038..eda42450073 160000 --- a/src/rust-netsurfcss +++ b/src/rust-netsurfcss @@ -1 +1 @@ -Subproject commit 31697a75038e7aa8c5e5b5e86002c4e42dc19712 +Subproject commit eda424500739f1474b6e4a7c0fbc165d5a92a51f diff --git a/src/servo/css/compute.rs b/src/servo/css/compute.rs index c8e08209ebe..9ca5f7efc2c 100644 --- a/src/servo/css/compute.rs +++ b/src/servo/css/compute.rs @@ -1,16 +1,29 @@ /*! -Calculate styles for nodes based on SelectResults +Calculate styles for Nodes based on SelectResults */ use dom::node::Node; use newcss::color::{Color, rgba}; +use newcss::values::{CSSValue, Specified, Inherit}; +use newcss::ComputedStyle; pub trait ComputeStyles { - fn compute_background_color() -> Color; + fn compute_background_color(&self) -> Color; } impl Node: ComputeStyles { - fn compute_background_color() -> Color { - rgba(255, 0, 255, 1.0) + fn compute_background_color(&self) -> Color { + compute(self, |cs| cs.background_color(), rgba(0, 0, 0, 0.0)) + } +} + +fn compute(node: &Node, get: &fn(cs: ComputedStyle) -> CSSValue, default: T) -> T { + let style = node.get_style(); + let computed = style.computed_style(); + let value = get(computed); + match move value { + Inherit => /* FIXME */ move default, + Specified(move value) => move value, + _ => fail } } \ No newline at end of file diff --git a/src/test/test_bg_color_simple.css b/src/test/test_bg_color_simple.css new file mode 100644 index 00000000000..6083263c93e --- /dev/null +++ b/src/test/test_bg_color_simple.css @@ -0,0 +1,3 @@ +div { + background-color: blue; +} \ No newline at end of file diff --git a/src/test/test_bg_color_simple.html b/src/test/test_bg_color_simple.html new file mode 100644 index 00000000000..b2526594196 --- /dev/null +++ b/src/test/test_bg_color_simple.html @@ -0,0 +1,8 @@ + + + + +
+ Test +
+