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(); |
} |