diff options
author | Andrei Volykhin <andrei.volykhin@gmail.com> | 2025-04-15 17:44:44 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-04-15 14:44:44 +0000 |
commit | 6b38289584c659b25bd9f79817188927496f23ee (patch) | |
tree | 30982838a931579d2a17cd51940371bf2a3ce145 | |
parent | 10f6f50c615eee807ed81356501afb62f12ee6ac (diff) | |
download | servo-6b38289584c659b25bd9f79817188927496f23ee.tar.gz servo-6b38289584c659b25bd9f79817188927496f23ee.zip |
canvas: Add "EnforceRange" attribute to CanvasImageData interface (#36546)
Add missing "EnforceRange" attribute to interface methods
https://html.spec.whatwg.org/multipage/canvas.html#canvasimagedata
--
- [x] ./mach build -d does not report any errors
- [x] ./mach test-tidy does not report any errors
- [x] There are tests for these changes
tests/wpt/tests/html/canvas/element/pixel-manipulation/2d.imageData*
tests/wpt/tests/html/canvas/offscreen/pixel-manipulation/2d.imageData*
Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
13 files changed, 7 insertions, 52 deletions
diff --git a/components/script_bindings/webidls/CanvasRenderingContext2D.webidl b/components/script_bindings/webidls/CanvasRenderingContext2D.webidl index f47de4efd29..0c4960fe6ad 100644 --- a/components/script_bindings/webidls/CanvasRenderingContext2D.webidl +++ b/components/script_bindings/webidls/CanvasRenderingContext2D.webidl @@ -165,16 +165,16 @@ interface mixin CanvasDrawImage { interface mixin CanvasImageData { // pixel manipulation [Throws] - ImageData createImageData(long sw, long sh); + ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh); [Throws] ImageData createImageData(ImageData imagedata); [Throws] - ImageData getImageData(long sx, long sy, long sw, long sh); - undefined putImageData(ImageData imagedata, long dx, long dy); - undefined putImageData(ImageData imagedata, - long dx, long dy, - long dirtyX, long dirtyY, - long dirtyWidth, long dirtyHeight); + ImageData getImageData([EnforceRange] long sx, [EnforceRange] long sy, + [EnforceRange] long sw, [EnforceRange] long sh); + undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy); + undefined putImageData(ImageData imagedata, [EnforceRange] long dx, [EnforceRange] long dy, + [EnforceRange] long dirtyX, [EnforceRange] long dirtyY, + [EnforceRange] long dirtyWidth, [EnforceRange] long dirtyHeight); }; enum CanvasLineCap { "butt", "round", "square" }; diff --git a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini b/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini deleted file mode 100644 index 8e7dad6133e..00000000000 --- a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.create2.nonfinite.html] - [createImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.large.crash.html.ini b/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.large.crash.html.ini deleted file mode 100644 index 72b8407061c..00000000000 --- a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.large.crash.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.imageData.get.large.crash.html] - [Test that canvas crash when image data cannot be allocated.] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.nonfinite.html.ini b/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.nonfinite.html.ini deleted file mode 100644 index 8ecd9e5dc7f..00000000000 --- a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.get.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.get.nonfinite.html] - [getImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.put.nonfinite.html.ini b/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.put.nonfinite.html.ini deleted file mode 100644 index 025b8cfdc5d..00000000000 --- a/tests/wpt/meta/html/canvas/element/pixel-manipulation/2d.imageData.put.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.put.nonfinite.html] - [putImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini deleted file mode 100644 index 8e7dad6133e..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.create2.nonfinite.html] - [createImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js.ini deleted file mode 100644 index e8ad049fd30..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.create2.nonfinite.worker.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.create2.nonfinite.worker.html] - [createImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.html.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.html.ini deleted file mode 100644 index 72b8407061c..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.html.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.imageData.get.large.crash.html] - [Test that canvas crash when image data cannot be allocated.] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.worker.js.ini deleted file mode 100644 index e4378518c9a..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.large.crash.worker.js.ini +++ /dev/null @@ -1,3 +0,0 @@ -[2d.imageData.get.large.crash.worker.html] - [Test that canvas crash when image data cannot be allocated.] - expected: FAIL diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.html.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.html.ini deleted file mode 100644 index 8ecd9e5dc7f..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.get.nonfinite.html] - [getImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.worker.js.ini deleted file mode 100644 index 7a555682cf0..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.get.nonfinite.worker.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.get.nonfinite.worker.html] - [getImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.html.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.html.ini deleted file mode 100644 index 025b8cfdc5d..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.put.nonfinite.html] - [putImageData() throws TypeError if arguments are not finite] - expected: FAIL - diff --git a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.worker.js.ini b/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.worker.js.ini deleted file mode 100644 index 5e961ea5b5a..00000000000 --- a/tests/wpt/meta/html/canvas/offscreen/pixel-manipulation/2d.imageData.put.nonfinite.worker.js.ini +++ /dev/null @@ -1,4 +0,0 @@ -[2d.imageData.put.nonfinite.worker.html] - [putImageData() throws TypeError if arguments are not finite] - expected: FAIL - |