| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. | 2 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc.
All rights reserved. |
| 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) | 3 * Copyright (C) 2008, 2010 Nokia Corporation and/or its subsidiary(-ies) |
| 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 4 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
| 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
| 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> | 6 * Copyright (C) 2008 Dirk Schulze <krit@webkit.org> |
| 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 7 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. | 8 * Copyright (C) 2012, 2013 Intel Corporation. All rights reserved. |
| 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 9 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 10 * | 10 * |
| (...skipping 1264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1275 SkCanvas* c = drawingCanvas(); | 1275 SkCanvas* c = drawingCanvas(); |
| 1276 ASSERT(c); | 1276 ASSERT(c); |
| 1277 | 1277 |
| 1278 int initialSaveCount = c->getSaveCount(); | 1278 int initialSaveCount = c->getSaveCount(); |
| 1279 SkPaint imagePaint = *paint; | 1279 SkPaint imagePaint = *paint; |
| 1280 | 1280 |
| 1281 if (paint->getImageFilter()) { | 1281 if (paint->getImageFilter()) { |
| 1282 SkMatrix ctm = c->getTotalMatrix(); | 1282 SkMatrix ctm = c->getTotalMatrix(); |
| 1283 SkMatrix invCtm; | 1283 SkMatrix invCtm; |
| 1284 if (!ctm.invert(&invCtm)) { | 1284 if (!ctm.invert(&invCtm)) { |
| 1285 ASSERT_NOT_REACHED(); // There is an earlier check for invertibility | 1285 // There is an earlier check for invertibility, but the arithmetic |
| 1286 // in AffineTransform is not exactly identical, so it is possible |
| 1287 // for SkMatrix to find the transform to be non-invertible at this s
tage. |
| 1288 // crbug.com/504687 |
| 1289 return; |
| 1286 } | 1290 } |
| 1287 c->save(); | 1291 c->save(); |
| 1288 c->concat(invCtm); | 1292 c->concat(invCtm); |
| 1289 SkRect bounds = dstRect; | 1293 SkRect bounds = dstRect; |
| 1290 ctm.mapRect(&bounds); | 1294 ctm.mapRect(&bounds); |
| 1291 SkRect filteredBounds; | 1295 SkRect filteredBounds; |
| 1292 paint->getImageFilter()->computeFastBounds(bounds, &filteredBounds); | 1296 paint->getImageFilter()->computeFastBounds(bounds, &filteredBounds); |
| 1293 SkPaint layerPaint; | 1297 SkPaint layerPaint; |
| 1294 layerPaint.setXfermode(paint->getXfermode()); | 1298 layerPaint.setXfermode(paint->getXfermode()); |
| 1295 layerPaint.setImageFilter(paint->getImageFilter()); | 1299 layerPaint.setImageFilter(paint->getImageFilter()); |
| (...skipping 939 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2235 if (imageType == CanvasRenderingContext2DState::NonOpaqueImage) | 2239 if (imageType == CanvasRenderingContext2DState::NonOpaqueImage) |
| 2236 return; | 2240 return; |
| 2237 if (alpha < 0xFF) | 2241 if (alpha < 0xFF) |
| 2238 return; | 2242 return; |
| 2239 } | 2243 } |
| 2240 | 2244 |
| 2241 canvas()->buffer()->willOverwriteCanvas(); | 2245 canvas()->buffer()->willOverwriteCanvas(); |
| 2242 } | 2246 } |
| 2243 | 2247 |
| 2244 } // namespace blink | 2248 } // namespace blink |
| OLD | NEW |