diff options
4 files changed, 4 insertions, 19 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs index 7ddce7791c9..74389abaae2 100644 --- a/components/script/dom/canvasrenderingcontext2d.rs +++ b/components/script/dom/canvasrenderingcontext2d.rs @@ -140,8 +140,8 @@ impl CanvasRenderingContext2D { // The source rectangle is the rectangle whose corners are the four points (sx, sy), // (sx+sw, sy), (sx+sw, sy+sh), (sx, sy+sh). - let source_rect = Rect(Point2D(sx, sy), - Size2D(sw, sh)); + let source_rect = Rect(Point2D(sx.min(sx+sw), sy.min(sy+sh)), + Size2D(sw.abs(), sh.abs())); // When the source rectangle is outside the source image, // the source rectangle must be clipped to the source image @@ -158,8 +158,8 @@ impl CanvasRenderingContext2D { // The destination rectangle is the rectangle whose corners are the four points (dx, dy), // (dx+dw, dy), (dx+dw, dy+dh), (dx, dy+dh). - let dest_rect = Rect(Point2D(dx, dy), - Size2D(dest_rect_width_scaled, dest_rect_height_scaled)); + let dest_rect = Rect(Point2D(dx.min(dx+dest_rect_width_scaled), dy.min(dy+dest_rect_height_scaled)), + Size2D(dest_rect_width_scaled.abs(), dest_rect_height_scaled.abs())); let source_rect = Rect(Point2D(source_rect_clipped.origin.x, source_rect_clipped.origin.y), diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html.ini deleted file mode 100644 index df3c4e40247..00000000000 --- a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedest.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.drawImage.negativedest.html] - type: testharness - [Negative destination width/height represents the correct rectangle] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html.ini deleted file mode 100644 index e12061baeb0..00000000000 --- a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativedir.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.drawImage.negativedir.html] - type: testharness - [Negative dimensions do not affect the direction of the image] - expected: FAIL - diff --git a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html.ini b/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html.ini deleted file mode 100644 index 08d638e3e02..00000000000 --- a/tests/wpt/metadata/2dcontext/drawing-images-to-the-canvas/2d.drawImage.negativesource.html.ini +++ /dev/null @@ -1,5 +0,0 @@ -[2d.drawImage.negativesource.html] - type: testharness - [Negative source width/height represents the correct rectangle] - expected: FAIL - |