From ec5710b66cfe1ab3e3ed56569df349973f343594 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 4 Sep 2018 01:00:23 +0200 Subject: [PATCH 1/4] Cleanup the way we compute the darker / lighter colors for inset / outset borders. Just so we have a single way to define the coefficients that we use to darken / enlighten a color for these kinds of borders. --- webrender/src/border.rs | 68 ++++++++++++++--------------------------- 1 file changed, 23 insertions(+), 45 deletions(-) diff --git a/webrender/src/border.rs b/webrender/src/border.rs index fec6f3c02d..77f4ba16b7 100644 --- a/webrender/src/border.rs +++ b/webrender/src/border.rs @@ -201,40 +201,31 @@ impl<'a> DisplayListFlattener<'a> { } pub trait BorderSideHelpers { - fn border_color( - &self, - scale_factor_0: f32, - scale_factor_1: f32, - black_color_0: f32, - black_color_1: f32, - ) -> ColorF; + fn border_color(&self, is_inner_border: bool) -> ColorF; } impl BorderSideHelpers for BorderSide { - fn border_color( - &self, - scale_factor_0: f32, - scale_factor_1: f32, - black_color_0: f32, - black_color_1: f32, - ) -> ColorF { - match self.style { - BorderStyle::Inset => { - if self.color.r != 0.0 || self.color.g != 0.0 || self.color.b != 0.0 { - self.color.scale_rgb(scale_factor_1) - } else { - ColorF::new(black_color_0, black_color_0, black_color_0, self.color.a) - } - } - BorderStyle::Outset => { - if self.color.r != 0.0 || self.color.g != 0.0 || self.color.b != 0.0 { - self.color.scale_rgb(scale_factor_0) - } else { - ColorF::new(black_color_1, black_color_1, black_color_1, self.color.a) - } - } - _ => self.color, + fn border_color(&self, is_inner_border: bool) -> ColorF { + let lighter = match self.style { + BorderStyle::Inset => is_inner_border, + BorderStyle::Outset => !is_inner_border, + _ => return self.color, + }; + + // The modulate colors below are not part of the specification. They are + // derived from the Gecko source code and experimentation, and used to + // modulate the colors in order to generate colors for the inset/outset + // and groove/ridge border styles. + // + // NOTE(emilio): Gecko at least takes the background color into + // account, should we do the same? Looks a bit annoying for this. + if self.color.r != 0.0 || self.color.g != 0.0 || self.color.b != 0.0 { + let scale = if lighter { 1.0 } else { 2.0 / 3.0 }; + return self.color.scale_rgb(scale) } + + let black = if lighter { 0.7 } else { 0.3 }; + ColorF::new(black, black, black, self.color.a) } } @@ -912,21 +903,8 @@ impl BorderRenderTaskInfo { side1.style }; - // These modulate colors are not part of the specification. They - // are derived from the Gecko source code and experimentation, and - // used to modulate the colors in order to generate colors for - // the inset/outset and groove/ridge border styles. - let color0 = if flip0 { - side0.border_color(2.0 / 3.0, 1.0, 0.7, 0.3) - } else { - side0.border_color(1.0, 2.0 / 3.0, 0.3, 0.7) - }; - - let color1 = if flip1 { - side1.border_color(2.0 / 3.0, 1.0, 0.7, 0.3) - } else { - side1.border_color(1.0, 2.0 / 3.0, 0.3, 0.7) - }; + let color0 = side0.border_color(flip0); + let color1 = side1.border_color(flip1); add_segment( info.task_rect, From 0fa7019c1a6e17f92197638fda7a723f38ec46ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 4 Sep 2018 01:51:45 +0200 Subject: [PATCH 2/4] Be consistent about how the algorithm we use to modulate colors. In particular, if the color is black, every browser does its best to infer the color. Fixes: https://bugzilla.mozilla.org/show_bug.cgi?id=1488294 This should require a couple test updates in Gecko I presume. --- webrender/res/cs_border_segment.glsl | 33 ++++++++++++++++++++++------ webrender/src/border.rs | 3 +++ 2 files changed, 29 insertions(+), 7 deletions(-) diff --git a/webrender/res/cs_border_segment.glsl b/webrender/res/cs_border_segment.glsl index 7a6de880ba..03a1938a41 100644 --- a/webrender/res/cs_border_segment.glsl +++ b/webrender/res/cs_border_segment.glsl @@ -102,22 +102,41 @@ vec2 get_outer_corner_scale(int segment) { return p; } -vec4 mod_color(vec4 color, float f) { - return vec4(clamp(color.rgb * f, vec3(0.0), vec3(color.a)), color.a); +// NOTE(emilio): If you change this algorithm, do the same change +// in border.rs +vec4 mod_color(vec4 color, bool is_black, bool lighter) { + const float light_black = 0.7; + const float dark_black = 0.3; + + const float dark_scale = 0.66666666; + const float light_scale = 1.0; + + if (is_black) { + if (lighter) { + return vec4(vec3(light_black), color.a); + } + return vec4(vec3(dark_black), color.a); + } + + if (lighter) { + return vec4(color.rgb * light_scale, color.a); + } + return vec4(color.rgb * dark_scale, color.a); } vec4[2] get_colors_for_side(vec4 color, int style) { vec4 result[2]; - const vec2 f = vec2(1.3, 0.7); + + bool is_black = color.rgb == vec3(0.0, 0.0, 0.0); switch (style) { case BORDER_STYLE_GROOVE: - result[0] = mod_color(color, f.x); - result[1] = mod_color(color, f.y); + result[0] = mod_color(color, is_black, true); + result[1] = mod_color(color, is_black, false); break; case BORDER_STYLE_RIDGE: - result[0] = mod_color(color, f.y); - result[1] = mod_color(color, f.x); + result[0] = mod_color(color, is_black, false); + result[1] = mod_color(color, is_black, true); break; default: result[0] = color; diff --git a/webrender/src/border.rs b/webrender/src/border.rs index 77f4ba16b7..3cd30c9762 100644 --- a/webrender/src/border.rs +++ b/webrender/src/border.rs @@ -219,6 +219,9 @@ impl BorderSideHelpers for BorderSide { // // NOTE(emilio): Gecko at least takes the background color into // account, should we do the same? Looks a bit annoying for this. + // + // NOTE(emilio): If you change this algorithm, do the same change on + // get_colors_for_side in cs_border_segment.glsl. if self.color.r != 0.0 || self.color.g != 0.0 || self.color.b != 0.0 { let scale = if lighter { 1.0 } else { 2.0 / 3.0 }; return self.color.scale_rgb(scale) From 28c4b4f4f5a0111375f5e14162a80311a69a6110 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 4 Sep 2018 03:10:37 +0200 Subject: [PATCH 3/4] Update reftests. --- .../border/border-groove-simple-ref.yaml | 4 ++-- .../border/border-ridge-simple-ref.yaml | 4 ++-- wrench/reftests/border/border-suite-2.png | Bin 48896 -> 48712 bytes wrench/reftests/border/border-suite-3.png | Bin 25148 -> 26021 bytes 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/wrench/reftests/border/border-groove-simple-ref.yaml b/wrench/reftests/border/border-groove-simple-ref.yaml index 7d472f0ed5..9dfe5f3358 100644 --- a/wrench/reftests/border/border-groove-simple-ref.yaml +++ b/wrench/reftests/border/border-groove-simple-ref.yaml @@ -9,7 +9,7 @@ root: width: [ 6, 6, 6, 6 ] border-type: normal style: [ solid, solid, solid, solid ] - color: [ 0 0 178 1.0, 0 0 255 1.0, 0 0 255 1.0, 0 0 178 1.0 ] + color: [ 0 0 170 1.0, 0 0 255 1.0, 0 0 255 1.0, 0 0 170 1.0 ] - type: stacking-context bounds: [6, 6, 38, 38] items: @@ -18,4 +18,4 @@ root: width: [ 6, 6, 6, 6 ] border-type: normal style: [ solid, solid, solid, solid ] - color: [ 0 0 255 1.0, 0 0 178 1.0, 0 0 178 1.0, 0 0 255 1.0 ] + color: [ 0 0 255 1.0, 0 0 170 1.0, 0 0 170 1.0, 0 0 255 1.0 ] diff --git a/wrench/reftests/border/border-ridge-simple-ref.yaml b/wrench/reftests/border/border-ridge-simple-ref.yaml index 987f2fce0b..b940962d45 100644 --- a/wrench/reftests/border/border-ridge-simple-ref.yaml +++ b/wrench/reftests/border/border-ridge-simple-ref.yaml @@ -9,7 +9,7 @@ root: width: [ 6, 6, 6, 6 ] border-type: normal style: [ solid, solid, solid, solid ] - color: [ 0 0 255 1.0, 0 0 178 1.0, 0 0 178 1.0, 0 0 255 1.0 ] + color: [ 0 0 255 1.0, 0 0 170 1.0, 0 0 170 1.0, 0 0 255 1.0 ] - type: stacking-context bounds: [6, 6, 38, 38] items: @@ -18,4 +18,4 @@ root: width: [ 6, 6, 6, 6 ] border-type: normal style: [ solid, solid, solid, solid ] - color: [ 0 0 178 1.0, 0 0 255 1.0, 0 0 255 1.0, 0 0 178 1.0 ] + color: [ 0 0 170 1.0, 0 0 255 1.0, 0 0 255 1.0, 0 0 170 1.0 ] diff --git a/wrench/reftests/border/border-suite-2.png b/wrench/reftests/border/border-suite-2.png index 0c0bab457695286e8db89ac73799508933457429..269ff99f0418de206483a4111ba7d9d3625393a4 100644 GIT binary patch literal 48712 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

eCOvJ9hZiy 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 JVyS2U{4ZF`E++s0 diff --git a/wrench/reftests/border/border-suite-3.png b/wrench/reftests/border/border-suite-3.png index 07e67d8f8e0c61d760e180e685829b45c5bb7b39..dcd6f5d76025d6a73a5e1b644c67736cf3b6b116 100644 GIT binary patch literal 26021 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 l|GVEE@awBT{*nc@e(2r_x*=(<7>It^Q4b From 574bb241963021cbc3ab686d3a5560b824d2d574 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Emilio=20Cobos=20=C3=81lvarez?= Date: Tue, 4 Sep 2018 03:51:26 +0200 Subject: [PATCH 4/4] Normalize small borders to solid. --- webrender/src/prim_store.rs | 5 ++++- webrender_api/src/display_item.rs | 27 +++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/webrender/src/prim_store.rs b/webrender/src/prim_store.rs index 2cc22567ab..88719cf2b1 100644 --- a/webrender/src/prim_store.rs +++ b/webrender/src/prim_store.rs @@ -428,7 +428,10 @@ impl BrushKind { // Construct a brush that is a border with `border` style and `widths` // dimensions. - pub fn new_border(border: NormalBorder, widths: BorderWidths) -> BrushKind { + pub fn new_border(mut border: NormalBorder, widths: BorderWidths) -> BrushKind { + // FIXME(emilio): Is this the best place to do this? + border.normalize(&widths); + let cache_key = BorderCacheKey::new(&border, &widths); BrushKind::Border { source: BorderSource::Border { diff --git a/webrender_api/src/display_item.rs b/webrender_api/src/display_item.rs index 29fe0fd69b..4cfe09ec3c 100644 --- a/webrender_api/src/display_item.rs +++ b/webrender_api/src/display_item.rs @@ -273,6 +273,33 @@ impl NormalBorder { b.bottom.color = color; b } + + /// Normalizes a border so that we don't render disallowed stuff, like inset + /// borders that are less than two pixels wide. + #[inline] + pub fn normalize(&mut self, widths: &BorderWidths) { + #[inline] + fn renders_small_border_solid(style: BorderStyle) -> bool { + match style { + BorderStyle::Groove | + BorderStyle::Ridge | + BorderStyle::Inset | + BorderStyle::Outset => true, + _ => false, + } + } + + let normalize_side = |side: &mut BorderSide, width: f32| { + if renders_small_border_solid(side.style) && width < 2. { + side.style = BorderStyle::Solid; + } + }; + + normalize_side(&mut self.left, widths.left); + normalize_side(&mut self.right, widths.right); + normalize_side(&mut self.top, widths.top); + normalize_side(&mut self.bottom, widths.bottom); + } } #[repr(u32)]