| Index: Source/platform/graphics/Gradient.cpp
|
| diff --git a/Source/platform/graphics/Gradient.cpp b/Source/platform/graphics/Gradient.cpp
|
| index f81ad11061a7e00a8fcf61d2f39aea2b20fcdf92..2a40bb04c708d71872a08a53c2ff6b9d4e4f25e6 100644
|
| --- a/Source/platform/graphics/Gradient.cpp
|
| +++ b/Source/platform/graphics/Gradient.cpp
|
| @@ -39,26 +39,28 @@
|
| namespace WebCore {
|
|
|
| Gradient::Gradient(const FloatPoint& p0, const FloatPoint& p1)
|
| - : m_radial(false)
|
| - , m_p0(p0)
|
| + : m_p0(p0)
|
| , m_p1(p1)
|
| , m_r0(0)
|
| , m_r1(0)
|
| , m_aspectRatio(1)
|
| + , m_radial(false)
|
| , m_stopsSorted(false)
|
| + , m_shaderChanged(false)
|
| , m_spreadMethod(SpreadMethodPad)
|
| , m_drawInPMColorSpace(false)
|
| {
|
| }
|
|
|
| Gradient::Gradient(const FloatPoint& p0, float r0, const FloatPoint& p1, float r1, float aspectRatio)
|
| - : m_radial(true)
|
| - , m_p0(p0)
|
| + : m_p0(p0)
|
| , m_p1(p1)
|
| , m_r0(r0)
|
| , m_r1(r1)
|
| , m_aspectRatio(aspectRatio)
|
| + , m_radial(true)
|
| , m_stopsSorted(false)
|
| + , m_shaderChanged(false)
|
| , m_spreadMethod(SpreadMethodPad)
|
| , m_drawInPMColorSpace(false)
|
| {
|
| @@ -78,6 +80,7 @@ void Gradient::addColorStop(float value, const Color& color)
|
| m_stops.append(ColorStop(value, r, g, b, a));
|
|
|
| m_stopsSorted = false;
|
| + m_shaderChanged = true;
|
| m_gradient.clear();
|
| }
|
|
|
| @@ -86,6 +89,7 @@ void Gradient::addColorStop(const Gradient::ColorStop& stop)
|
| m_stops.append(stop);
|
|
|
| m_stopsSorted = false;
|
| + m_shaderChanged = true;
|
| m_gradient.clear();
|
| }
|
|
|
| @@ -134,6 +138,7 @@ void Gradient::setDrawsInPMColorSpace(bool drawInPMColorSpace)
|
| return;
|
|
|
| m_drawInPMColorSpace = drawInPMColorSpace;
|
| + m_shaderChanged = true;
|
| m_gradient.clear();
|
| }
|
|
|
| @@ -276,6 +281,7 @@ SkShader* Gradient::shader()
|
| } else {
|
| m_gradient->setLocalMatrix(affineTransformToSkMatrix(m_gradientSpaceTransformation));
|
| }
|
| + m_shaderChanged = true;
|
| return m_gradient.get();
|
| }
|
|
|
|
|