From cfb7b9b70c1e8b7cfbfb043a2bf1d13b2cf200f0 Mon Sep 17 00:00:00 2001 From: Dave Townsend Date: Tue, 12 Jan 2010 16:27:48 -0800 Subject: [PATCH] Backed out changeset 4b725bb53baa from bug 539165 due to reftest failure --- gfx/cairo/README | 2 - gfx/cairo/cairo/src/cairo-pattern.c | 21 +-------- .../premultiply-alpha-solid-gradients.patch | 46 ------------------- .../svg/opacity-and-gradient-02-ref.svg | 42 ----------------- .../reftests/svg/opacity-and-gradient-02.svg | 28 ----------- layout/reftests/svg/reftest.list | 1 - 6 files changed, 2 insertions(+), 138 deletions(-) delete mode 100644 gfx/cairo/premultiply-alpha-solid-gradients.patch delete mode 100644 layout/reftests/svg/opacity-and-gradient-02-ref.svg delete mode 100644 layout/reftests/svg/opacity-and-gradient-02.svg diff --git a/gfx/cairo/README b/gfx/cairo/README index c7d192bcf22f..8be928251c6d 100644 --- a/gfx/cairo/README +++ b/gfx/cairo/README @@ -64,8 +64,6 @@ quartz-first-stop.patch: return the first stop for negative positions on the gra quartz-glyph-extents.patch: bug 534260; work around incorrect glyph extents returned by quartz for anomalous empty glyphs -premultiply-alpha-solid-gradients.patch: bug 539165; multiply the solid color by the alpha component before using it for a solid surface - ==== pixman patches ==== pixman-neon.patch: add ARM NEON optimized compositing functions diff --git a/gfx/cairo/cairo/src/cairo-pattern.c b/gfx/cairo/cairo/src/cairo-pattern.c index 9ea959b2a87b..9fe94ad4eec5 100644 --- a/gfx/cairo/cairo/src/cairo-pattern.c +++ b/gfx/cairo/cairo/src/cairo-pattern.c @@ -2262,17 +2262,8 @@ _cairo_pattern_acquire_surface (const cairo_pattern_t *pattern, 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, - &color, + &src->stops->color, CAIRO_CONTENT_COLOR_ALPHA); } else @@ -2304,17 +2295,9 @@ _cairo_pattern_acquire_surface (const cairo_pattern_t *pattern, } 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, - &color, + &src->stops->color, CAIRO_CONTENT_COLOR_ALPHA); status = diff --git a/gfx/cairo/premultiply-alpha-solid-gradients.patch b/gfx/cairo/premultiply-alpha-solid-gradients.patch deleted file mode 100644 index 665f64969ad1..000000000000 --- a/gfx/cairo/premultiply-alpha-solid-gradients.patch +++ /dev/null @@ -1,46 +0,0 @@ -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 = diff --git a/layout/reftests/svg/opacity-and-gradient-02-ref.svg b/layout/reftests/svg/opacity-and-gradient-02-ref.svg deleted file mode 100644 index 0f23302e74f7..000000000000 --- a/layout/reftests/svg/opacity-and-gradient-02-ref.svg +++ /dev/null @@ -1,42 +0,0 @@ - - - - Testcase for opacity on elements referencing a gradient - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/layout/reftests/svg/opacity-and-gradient-02.svg b/layout/reftests/svg/opacity-and-gradient-02.svg deleted file mode 100644 index 1939ed66bfd2..000000000000 --- a/layout/reftests/svg/opacity-and-gradient-02.svg +++ /dev/null @@ -1,28 +0,0 @@ - - - - Testcase for opacity on elements referencing a gradient - - - - - - - - - - - - - - - - - - - - - diff --git a/layout/reftests/svg/reftest.list b/layout/reftests/svg/reftest.list index 36ad30a1a359..d0578e6f7248 100644 --- a/layout/reftests/svg/reftest.list +++ b/layout/reftests/svg/reftest.list @@ -101,7 +101,6 @@ fails == inline-in-xul-basic-01.xul pass.svg == objectBoundingBox-and-pattern-01b.svg objectBoundingBox-and-pattern-01-ref.svg == objectBoundingBox-and-pattern-01c.svg objectBoundingBox-and-pattern-01-ref.svg fails-if(http.oscpu.match(/Mac\x20OS\x20X\x2010\.4$/)) == opacity-and-gradient-01.svg pass.svg # fails on OS X 10.4 (bug 379610) -== opacity-and-gradient-02.svg opacity-and-gradient-02-ref.svg == opacity-and-pattern-01.svg pass.svg == path-01.svg path-01-ref.svg == pattern-live-01a.svg pattern-live-01-ref.svg