| 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(), | 
|  |