Chromium Code Reviews| 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 1249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1260 return value.getAsHTMLCanvasElement().get(); | 1260 return value.getAsHTMLCanvasElement().get(); |
| 1261 if (value.isImageBitmap()) | 1261 if (value.isImageBitmap()) |
| 1262 return value.getAsImageBitmap().get(); | 1262 return value.getAsImageBitmap().get(); |
| 1263 ASSERT_NOT_REACHED(); | 1263 ASSERT_NOT_REACHED(); |
| 1264 return nullptr; | 1264 return nullptr; |
| 1265 } | 1265 } |
| 1266 | 1266 |
| 1267 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, double x, double y, ExceptionState& exceptionState) | 1267 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, double x, double y, ExceptionState& exceptionState) |
| 1268 { | 1268 { |
| 1269 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); | 1269 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); |
| 1270 imageSourceInternal->updateConcreteObjectSize(FloatSize(canvas()->width(), c anvas()->height())); | |
|
Justin Novosad
2016/02/23 15:53:04
I did some spec analysis on this.
The spec for dra
davve
2016/02/23 18:40:31
The contain constraint is actually not added yet,
| |
| 1270 FloatSize sourceRectSize = imageSourceInternal->elementSize(); | 1271 FloatSize sourceRectSize = imageSourceInternal->elementSize(); |
| 1271 FloatSize destRectSize = imageSourceInternal->defaultDestinationSize(); | 1272 FloatSize destRectSize = imageSourceInternal->defaultDestinationSize(); |
| 1272 drawImage(imageSourceInternal, 0, 0, sourceRectSize.width(), sourceRectSize. height(), x, y, destRectSize.width(), destRectSize.height(), exceptionState); | 1273 drawImage(imageSourceInternal, 0, 0, sourceRectSize.width(), sourceRectSize. height(), x, y, destRectSize.width(), destRectSize.height(), exceptionState); |
| 1273 } | 1274 } |
| 1274 | 1275 |
| 1275 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, | 1276 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, |
| 1276 double x, double y, double width, double height, ExceptionState& exceptionSt ate) | 1277 double x, double y, double width, double height, ExceptionState& exceptionSt ate) |
| 1277 { | 1278 { |
| 1278 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); | 1279 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); |
| 1280 imageSourceInternal->updateConcreteObjectSize(FloatSize(canvas()->width(), c anvas()->height())); | |
|
Justin Novosad
2016/02/23 15:53:04
In this case, the change also seem to comply with
davve
2016/02/23 18:40:31
As I said above, this patch is mostly plumbing and
| |
| 1279 FloatSize sourceRectSize = imageSourceInternal->elementSize(); | 1281 FloatSize sourceRectSize = imageSourceInternal->elementSize(); |
| 1280 drawImage(imageSourceInternal, 0, 0, sourceRectSize.width(), sourceRectSize. height(), x, y, width, height, exceptionState); | 1282 drawImage(imageSourceInternal, 0, 0, sourceRectSize.width(), sourceRectSize. height(), x, y, width, height, exceptionState); |
| 1281 } | 1283 } |
| 1282 | 1284 |
| 1283 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, | 1285 void CanvasRenderingContext2D::drawImage(const CanvasImageSourceUnion& imageSour ce, |
| 1284 double sx, double sy, double sw, double sh, | 1286 double sx, double sy, double sw, double sh, |
| 1285 double dx, double dy, double dw, double dh, ExceptionState& exceptionState) | 1287 double dx, double dy, double dw, double dh, ExceptionState& exceptionState) |
| 1286 { | 1288 { |
| 1287 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); | 1289 CanvasImageSource* imageSourceInternal = toImageSourceInternal(imageSource); |
|
Justin Novosad
2016/02/23 15:53:04
Here, we still have a problem. Even though the sou
davve
2016/02/23 18:40:31
Yes, I haven't gotten to this branch yet since it
| |
| 1288 drawImage(imageSourceInternal, sx, sy, sw, sh, dx, dy, dw, dh, exceptionStat e); | 1290 drawImage(imageSourceInternal, sx, sy, sw, sh, dx, dy, dw, dh, exceptionStat e); |
| 1289 } | 1291 } |
| 1290 | 1292 |
| 1291 bool CanvasRenderingContext2D::shouldDrawImageAntialiased(const FloatRect& destR ect) const | 1293 bool CanvasRenderingContext2D::shouldDrawImageAntialiased(const FloatRect& destR ect) const |
| 1292 { | 1294 { |
| 1293 if (!shouldAntialias()) | 1295 if (!shouldAntialias()) |
| 1294 return false; | 1296 return false; |
| 1295 SkCanvas* c = drawingCanvas(); | 1297 SkCanvas* c = drawingCanvas(); |
| 1296 ASSERT(c); | 1298 ASSERT(c); |
| 1297 | 1299 |
| (...skipping 1070 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2368 if (imageType == CanvasRenderingContext2DState::NonOpaqueImage) | 2370 if (imageType == CanvasRenderingContext2DState::NonOpaqueImage) |
| 2369 return; | 2371 return; |
| 2370 if (alpha < 0xFF) | 2372 if (alpha < 0xFF) |
| 2371 return; | 2373 return; |
| 2372 } | 2374 } |
| 2373 | 2375 |
| 2374 canvas()->buffer()->willOverwriteCanvas(); | 2376 canvas()->buffer()->willOverwriteCanvas(); |
| 2375 } | 2377 } |
| 2376 | 2378 |
| 2377 } // namespace blink | 2379 } // namespace blink |
| OLD | NEW |