[OffscreenCanvas] Add EnforceRange to createImageData and putImageData
The spec change is done here: https://github.com/whatwg/html/pull/6263
and canvasRenderingContext2D has updated. Update the OffscreenCanvas
to reflect the spec change.
Bug: 1068691
Change-Id: Iad944967981fedddd89d795c4d401ef656e14011
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3087599
Reviewed-by: Juanmi Huertas <juanmihd@chromium.org>
Commit-Queue: Yi Xu <yiyix@chromium.org>
Cr-Commit-Position: refs/heads/master@{#911363}
diff --git a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl b/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl
index bd4ae87..3c8b3134 100644
--- a/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl
+++ b/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl
@@ -96,12 +96,12 @@
// pixel manipulation
[RaisesException] ImageData createImageData(ImageData imagedata);
- [RaisesException] ImageData createImageData(long sw, long sh);
- [RaisesException, RuntimeEnabled=CanvasColorManagement] ImageData createImageData(long sw, long sh, ImageDataSettings imageDataSettings);
- [HighEntropy, MeasureAs=OffscreenCanvasGetImageData, RaisesException] ImageData getImageData(long sx, long sy, long sw, long sh);
- [HighEntropy, MeasureAs=OffscreenCanvasGetImageData, RaisesException, RuntimeEnabled=CanvasColorManagement] ImageData getImageData(long sx, long sy, long sw, long sh, ImageDataSettings imageDataSettings);
- [RaisesException] void putImageData(ImageData imagedata, long dx, long dy);
- [RaisesException] void putImageData(ImageData imagedata, long dx, long dy, long dirtyX, long dirtyY, long dirtyWidth, long dirtyHeight);
+ [RaisesException] ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh);
+ [RaisesException, RuntimeEnabled=CanvasColorManagement] ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh, ImageDataSettings imageDataSettings);
+ [HighEntropy, MeasureAs=OffscreenCanvasGetImageData, RaisesException] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh);
+ [HighEntropy, MeasureAs=OffscreenCanvasGetImageData, RaisesException, RuntimeEnabled=CanvasColorManagement] ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, [EnforceRange] long sw, [EnforceRange] long sh, ImageDataSettings imageDataSettings);
+ [RaisesException] void putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy);
+ [RaisesException] void putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight);
// Line caps/joins
attribute unrestricted double lineWidth; // (default 1)
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite-expected.txt b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite-expected.txt
deleted file mode 100644
index 3047af2..0000000
--- a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL createImageData() throws TypeError if arguments are not finite assert_throws_js: function "function() { ctx.createImageData(Infinity, 10); }" threw object "IndexSizeError: Failed to execute 'createImageData' on 'OffscreenCanvasRenderingContext2D': The source width is zero or not a number." ("IndexSizeError") expected instance of function "function TypeError() { [native code] }" ("TypeError")
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite-expected.txt b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite-expected.txt
deleted file mode 100644
index 0755a31..0000000
--- a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL getImageData() throws TypeError if arguments are not finite assert_throws_js: function "function() { ctx.getImageData(Infinity, 10, 10, 10); }" did not throw
-Harness: the test ran to completion.
-
diff --git a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite-expected.txt b/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite-expected.txt
deleted file mode 100644
index d52021c..0000000
--- a/third_party/blink/web_tests/external/wpt/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite-expected.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-This is a testharness.js-based test.
-FAIL putImageData() throws TypeError if arguments are not finite assert_throws_js: function "function() { ctx.putImageData(imgdata, Infinity, 10); }" did not throw
-Harness: the test ran to completion.
-