Index: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
diff --git a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
index 94b6d969cc35ec778d0894bd298375ebb4331097..6e75481849f09163c196e8f1f4d46dd3bcb383c3 100644 |
--- a/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
+++ b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DState.cpp |
@@ -199,12 +199,21 @@ void CanvasRenderingContext2DState::setLineDash(const Vector<float>& dash) |
m_lineDashDirty = true; |
} |
+static bool hasANonZeroElement(const Vector<float>& lineDash) |
+{ |
+ for (size_t i = 0; i < lineDash.size(); i++) { |
+ if (lineDash[i] != 0.0f) |
+ return true; |
+ } |
+ return false; |
+} |
+ |
void CanvasRenderingContext2DState::updateLineDash() const |
{ |
if (!m_lineDashDirty) |
return; |
- if (m_lineDash.size() == 0) { |
+ if (!hasANonZeroElement(m_lineDash)) { |
m_strokePaint.setPathEffect(0); |
} else { |
RefPtr<SkPathEffect> dashPathEffect = adoptRef(SkDashPathEffect::Create(m_lineDash.data(), m_lineDash.size(), m_lineDashOffset)); |