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