aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/gfx/color.rs10
-rw-r--r--components/layout/layout_task.rs11
2 files changed, 17 insertions, 4 deletions
diff --git a/components/gfx/color.rs b/components/gfx/color.rs
index 20be7916484..f1f589ef4b7 100644
--- a/components/gfx/color.rs
+++ b/components/gfx/color.rs
@@ -21,3 +21,13 @@ pub fn rgb(r: u8, g: u8, b: u8) -> AzColor {
pub fn rgba(r: AzFloat, g: AzFloat, b: AzFloat, a: AzFloat) -> AzColor {
AzColor { r: r, g: g, b: b, a: a }
}
+
+#[inline]
+pub fn black() -> AzColor {
+ AzColor { r: 0.0, g: 0.0, b: 0.0, a: 0.0 }
+}
+
+#[inline]
+pub fn white() -> AzColor {
+ AzColor { r: 1.0, g: 1.0, b: 1.0, a: 1.0 }
+}
diff --git a/components/layout/layout_task.rs b/components/layout/layout_task.rs
index 285e3889bf3..422ded0b3ad 100644
--- a/components/layout/layout_task.rs
+++ b/components/layout/layout_task.rs
@@ -664,7 +664,7 @@ impl LayoutTask {
// FIXME(pcwalton): This is really ugly and can't handle overflow: scroll. Refactor
// it with extreme prejudice.
- let mut color = color::rgba(1.0, 1.0, 1.0, 1.0);
+ let mut color = color::white();
for child in node.traverse_preorder() {
if child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLHtmlElement))) ||
child.type_id() == Some(NodeTypeId::Element(ElementTypeId::HTMLElement(HTMLElementTypeId::HTMLBodyElement))) {
@@ -676,9 +676,12 @@ impl LayoutTask {
.background_color)
.to_gfx_color()
};
- // FIXME: Add equality operators for azure color type.
- if element_bg_color.r != 0.0 || element_bg_color.g != 0.0 ||
- element_bg_color.b != 0.0 || element_bg_color.a != 0.0 {
+
+ let black = color::black();
+ // TODO: Use equality operators when we sync with rust-azure.
+ if element_bg_color.r != black.r || element_bg_color.g != black.g ||
+ element_bg_color.b != black.b || element_bg_color.a != black.a {
+
color = element_bg_color;
break;
}