1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/gfx/skia/patches/0022-Bug-848491-Re-apply-bug-795538-Ensure-we-use-the-cor.patch Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,39 @@ 1.4 +From: George Wright <gwright@mozilla.com> 1.5 +Date: Thu, 20 Jun 2013 09:21:21 -0400 1.6 +Subject: Bug 848491 - Re-apply bug 795538 - Ensure we use the correct colour (and alpha) for the clamp values r=mattwoodrow 1.7 + 1.8 + 1.9 +diff --git a/gfx/skia/src/effects/gradients/SkGradientShader.cpp b/gfx/skia/src/effects/gradients/SkGradientShader.cpp 1.10 +index 27a9c46..ce077b5 100644 1.11 +--- a/gfx/skia/src/effects/gradients/SkGradientShader.cpp 1.12 ++++ b/gfx/skia/src/effects/gradients/SkGradientShader.cpp 1.13 +@@ -500,15 +500,17 @@ const SkPMColor* SkGradientShaderBase::getCache32() const { 1.14 + } 1.15 + 1.16 + // Write the clamp colours into the first and last entries of fCache32 1.17 +- fCache32[kCache32ClampLower] = SkPackARGB32(fCacheAlpha, 1.18 +- SkColorGetR(fOrigColors[0]), 1.19 +- SkColorGetG(fOrigColors[0]), 1.20 +- SkColorGetB(fOrigColors[0])); 1.21 +- 1.22 +- fCache32[kCache32ClampUpper] = SkPackARGB32(fCacheAlpha, 1.23 +- SkColorGetR(fOrigColors[fColorCount - 1]), 1.24 +- SkColorGetG(fOrigColors[fColorCount - 1]), 1.25 +- SkColorGetB(fOrigColors[fColorCount - 1])); 1.26 ++ fCache32[kCache32ClampLower] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[0]), 1.27 ++ fCacheAlpha), 1.28 ++ SkColorGetR(fOrigColors[0]), 1.29 ++ SkColorGetG(fOrigColors[0]), 1.30 ++ SkColorGetB(fOrigColors[0])); 1.31 ++ 1.32 ++ fCache32[kCache32ClampUpper] = SkPremultiplyARGBInline(SkMulDiv255Round(SkColorGetA(fOrigColors[fColorCount - 1]), 1.33 ++ fCacheAlpha), 1.34 ++ SkColorGetR(fOrigColors[fColorCount - 1]), 1.35 ++ SkColorGetG(fOrigColors[fColorCount - 1]), 1.36 ++ SkColorGetB(fOrigColors[fColorCount - 1])); 1.37 + 1.38 + return fCache32; 1.39 + } 1.40 +-- 1.41 +1.7.11.7 1.42 +