| Index: third_party/WebKit/Source/platform/graphics/Gradient.cpp
|
| diff --git a/third_party/WebKit/Source/platform/graphics/Gradient.cpp b/third_party/WebKit/Source/platform/graphics/Gradient.cpp
|
| index a2ff0d1a94c99657af5dde247fc4e1bd985f4c3f..9736e023b34a5b6db7b8510a48288c9f8ecedcb6 100644
|
| --- a/third_party/WebKit/Source/platform/graphics/Gradient.cpp
|
| +++ b/third_party/WebKit/Source/platform/graphics/Gradient.cpp
|
| @@ -189,10 +189,10 @@
|
| }
|
| }
|
|
|
| -PassRefPtr<SkShader> Gradient::refShader()
|
| +SkShader* Gradient::shader()
|
| {
|
| if (m_gradient)
|
| - return m_gradient;
|
| + return m_gradient.get();
|
|
|
| sortStopsIfNecessary();
|
| ASSERT(m_stopsSorted);
|
| @@ -233,33 +233,32 @@
|
| // Since the two-point radial gradient is slower than the plain radial,
|
| // only use it if we have to.
|
| if (m_p0 == m_p1 && m_r0 <= 0.0f) {
|
| - m_gradient = adoptRef(SkGradientShader::MakeRadial(m_p1.data(), m_r1, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| + m_gradient = adoptRef(SkGradientShader::CreateRadial(m_p1.data(), m_r1, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| } else {
|
| // The radii we give to Skia must be positive. If we're given a
|
| // negative radius, ask for zero instead.
|
| SkScalar radius0 = m_r0 >= 0.0f ? WebCoreFloatToSkScalar(m_r0) : 0;
|
| SkScalar radius1 = m_r1 >= 0.0f ? WebCoreFloatToSkScalar(m_r1) : 0;
|
| - m_gradient = adoptRef(SkGradientShader::MakeTwoPointConical(m_p0.data(), radius0, m_p1.data(), radius1, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| + m_gradient = adoptRef(SkGradientShader::CreateTwoPointConical(m_p0.data(), radius0, m_p1.data(), radius1, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| }
|
| } else {
|
| SkPoint pts[2] = { m_p0.data(), m_p1.data() };
|
| SkMatrix localMatrix = affineTransformToSkMatrix(m_gradientSpaceTransformation);
|
| - m_gradient = adoptRef(SkGradientShader::MakeLinear(pts, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| + m_gradient = adoptRef(SkGradientShader::CreateLinear(pts, colors.data(), pos.data(), static_cast<int>(countUsed), tile, shouldDrawInPMColorSpace, &localMatrix));
|
| }
|
|
|
| if (!m_gradient) {
|
| // use last color, since our "geometry" was degenerate (e.g. radius==0)
|
| - m_gradient = adoptRef(SkShader::MakeColorShader(colors[countUsed - 1]));
|
| - }
|
| - return m_gradient;
|
| + m_gradient = adoptRef(SkShader::CreateColorShader(colors[countUsed - 1]));
|
| + }
|
| + return m_gradient.get();
|
| }
|
|
|
| void Gradient::applyToPaint(SkPaint& paint)
|
| {
|
| - paint.setShader(adoptSkSp(refShader()));
|
| + paint.setShader(shader());
|
|
|
| // Legacy behavior: gradients are always dithered.
|
| paint.setDither(true);
|
| }
|
| -
|
| } // namespace blink
|
|
|