Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 From: George Wright <gwright@mozilla.com>
2 Date: Thu, 20 Jun 2013 09:21:21 -0400
3 Subject: Bug 848491 - Re-apply bug 795538 - Ensure we use the correct colour (and alpha) for the clamp values r=mattwoodrow
6 diff --git a/gfx/skia/src/effects/gradients/SkGradientShader.cpp b/gfx/skia/src/effects/gradients/SkGradientShader.cpp
7 index 27a9c46..ce077b5 100644
8 --- a/gfx/skia/src/effects/gradients/SkGradientShader.cpp
9 +++ b/gfx/skia/src/effects/gradients/SkGradientShader.cpp
10 @@ -500,15 +500,17 @@ const SkPMColor* SkGradientShaderBase::getCache32() const {
11 }
13 // Write the clamp colours into the first and last entries of fCache32
14 - fCache32[kCache32ClampLower] = SkPackARGB32(fCacheAlpha,
15 - SkColorGetR(fOrigColors[0]),
16 - SkColorGetG(fOrigColors[0]),
17 - SkColorGetB(fOrigColors[0]));
18 -
19 - fCache32[kCache32ClampUpper] = SkPackARGB32(fCacheAlpha,
20 - SkColorGetR(fOrigColors[fColorCount - 1]),
21 - SkColorGetG(fOrigColors[fColorCount - 1]),
22 - SkColorGetB(fOrigColors[fColorCount - 1]));
23 + fCache32[kCache32ClampLower] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[0]),
24 + fCacheAlpha),
25 + SkColorGetR(fOrigColors[0]),
26 + SkColorGetG(fOrigColors[0]),
27 + SkColorGetB(fOrigColors[0]));
28 +
29 + fCache32[kCache32ClampUpper] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[fColorCount - 1]),
30 + fCacheAlpha),
31 + SkColorGetR(fOrigColors[fColorCount - 1]),
32 + SkColorGetG(fOrigColors[fColorCount - 1]),
33 + SkColorGetB(fOrigColors[fColorCount - 1]));
35 return fCache32;
36 }
37 --
38 1.7.11.7