import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo

This commit is contained in:
Roy Tam 2018-01-19 03:59:58 +08:00
commit dcd9973243
150858 changed files with 23884658 additions and 0 deletions

View file

@ -0,0 +1,46 @@
Fix single and multi-stop solid gradients by multiplying by the alpha component. r=roc
This cairo commit that caused the problem: 2d790daa957471670f4ae0d3b22da89e4ee7111f.
It was merged into mozilla-central with 1effb72d30cf
diff --git a/gfx/cairo/cairo/src/cairo-pattern.c b/gfx/cairo/cairo/src/cairo-pattern.c
--- a/gfx/cairo/cairo/src/cairo-pattern.c
+++ b/gfx/cairo/cairo/src/cairo-pattern.c
@@ -2262,8 +2262,17 @@ _cairo_pattern_acquire_surface (const ca
if (src->n_stops)
{
+ cairo_color_t color;
+
+ /* multiply by alpha */
+ _cairo_color_init_rgba (&color,
+ src->stops->color.red,
+ src->stops->color.green,
+ src->stops->color.blue,
+ src->stops->color.alpha);
+
_cairo_pattern_init_solid (&solid,
- &src->stops->color,
+ &color,
CAIRO_CONTENT_COLOR_ALPHA);
}
else
@@ -2295,9 +2304,17 @@ _cairo_pattern_acquire_surface (const ca
}
if (i == src->n_stops) {
cairo_solid_pattern_t solid;
+ cairo_color_t color;
+
+ /* multiply by alpha */
+ _cairo_color_init_rgba (&color,
+ src->stops->color.red,
+ src->stops->color.green,
+ src->stops->color.blue,
+ src->stops->color.alpha);
_cairo_pattern_init_solid (&solid,
- &src->stops->color,
+ &color,
CAIRO_CONTENT_COLOR_ALPHA);
status =