Index: Source/core/html/canvas/CanvasRenderingContext2D.cpp |
diff --git a/Source/core/html/canvas/CanvasRenderingContext2D.cpp b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
index ad626b2ac61dbe69366729cc585de45edfb25b38..c5bfa6d21158ef005ee5f6c184745209414fa2e4 100644 |
--- a/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
+++ b/Source/core/html/canvas/CanvasRenderingContext2D.cpp |
@@ -1282,7 +1282,11 @@ void CanvasRenderingContext2D::drawImageInternal(CanvasImageSource* imageSource, |
SkMatrix ctm = c->getTotalMatrix(); |
SkMatrix invCtm; |
if (!ctm.invert(&invCtm)) { |
- ASSERT_NOT_REACHED(); // There is an earlier check for invertibility |
+ // There is an earlier check for invertibility, but the arithmetic |
+ // in AffineTransform is not exactly identical, so it is possible |
+ // for SkMatrix to find the transform to be non-invertible at this stage. |
+ // crbug.com/504687 |
+ return; |
} |
c->save(); |
c->concat(invCtm); |