| Index: Source/core/html/canvas/CanvasRenderingContext2D.cpp
|
| diff --git a/Source/core/html/canvas/CanvasRenderingContext2D.cpp b/Source/core/html/canvas/CanvasRenderingContext2D.cpp
|
| index 2643b2707c497d700f66fffd3cfa9ce284147c83..ce3d9c2917371fc51dcad983cd01fa94086f0259 100644
|
| --- a/Source/core/html/canvas/CanvasRenderingContext2D.cpp
|
| +++ b/Source/core/html/canvas/CanvasRenderingContext2D.cpp
|
| @@ -1294,9 +1294,10 @@ void CanvasRenderingContext2D::drawImage(ImageBitmap* bitmap,
|
|
|
| FloatRect intersectRect = intersection(bitmapRect, normalizedSrcRect);
|
| FloatRect actualSrcRect(intersectRect);
|
| - actualSrcRect.move(-bitmapRect.x(), -bitmapRect.y());
|
|
|
| - FloatRect imageRect = FloatRect(FloatPoint(), bitmapRect.size());
|
| + IntPoint bitmapOffset = bitmap->bitmapOffset();
|
| + actualSrcRect.move(bitmapOffset - bitmapRect.location());
|
| + FloatRect imageRect = FloatRect(bitmapOffset, bitmapRect.size());
|
|
|
| FloatRect actualDstRect(FloatPoint(intersectRect.location() - normalizedSrcRect.location()), bitmapRect.size());
|
| actualDstRect.scale(normalizedDstRect.width() / normalizedSrcRect.width() * intersectRect.width() / bitmapRect.width(),
|
|
|