diff --git a/html/canvas/element/layers/2d.layer.putImageData.html b/html/canvas/element/layers/2d.layer.putImageData.html new file mode 100644 index 00000000000000..1e4d3331d8f0f7 --- /dev/null +++ b/html/canvas/element/layers/2d.layer.putImageData.html @@ -0,0 +1,35 @@ + + +Canvas test: 2d.layer.putImageData + + + + + + +

2d.layer.putImageData

+

Check that calling putImageData in a layer throws an exception.

+ + +

Actual output:

+

FAIL (fallback content)

+ + + + diff --git a/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html b/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html deleted file mode 100644 index c73da157b12a22..00000000000000 --- a/html/canvas/element/layers/2d.layer.render-opportunities.putImageData-expected.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Canvas test: 2d.layer.render-opportunities.putImageData -

2d.layer.render-opportunities.putImageData

-

Check that layers state stack is flushed and rebuilt on frame renders.

- -

FAIL (fallback content)

-
- diff --git a/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html b/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html deleted file mode 100644 index 6a1215dd604e7c..00000000000000 --- a/html/canvas/element/layers/2d.layer.render-opportunities.putImageData.html +++ /dev/null @@ -1,34 +0,0 @@ - - - -Canvas test: 2d.layer.render-opportunities.putImageData -

2d.layer.render-opportunities.putImageData

-

Check that layers state stack is flushed and rebuilt on frame renders.

- -

FAIL (fallback content)

-
- diff --git a/html/canvas/offscreen/layers/2d.layer.putImageData.html b/html/canvas/offscreen/layers/2d.layer.putImageData.html new file mode 100644 index 00000000000000..b46b80c1f46e39 --- /dev/null +++ b/html/canvas/offscreen/layers/2d.layer.putImageData.html @@ -0,0 +1,36 @@ + + +OffscreenCanvas test: 2d.layer.putImageData + + + + +

2d.layer.putImageData

+

Check that calling putImageData in a layer throws an exception.

+ + + diff --git a/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js b/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js new file mode 100644 index 00000000000000..dd4b3576f66e78 --- /dev/null +++ b/html/canvas/offscreen/layers/2d.layer.putImageData.worker.js @@ -0,0 +1,31 @@ +// DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. +// OffscreenCanvas test in a worker:2d.layer.putImageData +// Description:Check that calling putImageData in a layer throws an exception. +// Note: + +importScripts("/resources/testharness.js"); +importScripts("/html/canvas/resources/canvas-tests.js"); + +var t = async_test("Check that calling putImageData in a layer throws an exception."); +var t_pass = t.done.bind(t); +var t_fail = t.step_func(function(reason) { + throw reason; +}); +t.step(function() { + + var canvas = new OffscreenCanvas(100, 50); + var ctx = canvas.getContext('2d'); + + const canvas2 = new OffscreenCanvas(100, 50); + const ctx2 = canvas2.getContext('2d') + const data = ctx2.getImageData(0, 0, 1, 1); + // `putImageData` shouldn't throw on it's own. + ctx.putImageData(data, 0, 0); + // Make sure the exception isn't caused by calling the function twice. + ctx.putImageData(data, 0, 0); + // Calling again inside a layer should throw. + ctx.beginLayer(); + assert_throws_dom("InvalidStateError", () => ctx.putImageData(data, 0, 0)); + t.done(); +}); +done(); diff --git a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html b/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html deleted file mode 100644 index c73da157b12a22..00000000000000 --- a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData-expected.html +++ /dev/null @@ -1,32 +0,0 @@ - - -Canvas test: 2d.layer.render-opportunities.putImageData -

2d.layer.render-opportunities.putImageData

-

Check that layers state stack is flushed and rebuilt on frame renders.

- -

FAIL (fallback content)

-
- diff --git a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html b/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html deleted file mode 100644 index 2caf797db75fb0..00000000000000 --- a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.html +++ /dev/null @@ -1,37 +0,0 @@ - - - -Canvas test: 2d.layer.render-opportunities.putImageData -

2d.layer.render-opportunities.putImageData

-

Check that layers state stack is flushed and rebuilt on frame renders.

- -

FAIL (fallback content)

-
- diff --git a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html b/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html deleted file mode 100644 index be9b4fd454da75..00000000000000 --- a/html/canvas/offscreen/layers/2d.layer.render-opportunities.putImageData.w.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - -Canvas test: 2d.layer.render-opportunities.putImageData -

2d.layer.render-opportunities.putImageData

-

Check that layers state stack is flushed and rebuilt on frame renders.

- -

FAIL (fallback content)

-
- - - diff --git a/html/canvas/tools/yaml-new/layers.yaml b/html/canvas/tools/yaml-new/layers.yaml index 41cd2ddfb3d88a..56cd0331f29c02 100644 --- a/html/canvas/tools/yaml-new/layers.yaml +++ b/html/canvas/tools/yaml-new/layers.yaml @@ -459,11 +459,6 @@ test_type: "promise" flush_canvas: |- await new Promise(resolve => requestAnimationFrame(resolve)); - putImageData: - flush_canvas: |- - const canvas2 = new OffscreenCanvas({{ size[0] }}, {{ size[1] }}); - const ctx2 = canvas2.getContext('2d'); - ctx.putImageData(ctx2.getImageData(0, 0, 1, 1), 0, 0); toBlob: test_type: "promise" canvasType: ['HTMLCanvas'] @@ -473,6 +468,20 @@ canvasType: ['HTMLCanvas'] flush_canvas: canvas.toDataURL(); +- name: 2d.layer.putImageData + desc: Check that calling putImageData in a layer throws an exception. + code: | + const canvas2 = new OffscreenCanvas({{ size[0] }}, {{ size[1] }}); + const ctx2 = canvas2.getContext('2d') + const data = ctx2.getImageData(0, 0, 1, 1); + // `putImageData` shouldn't throw on it's own. + ctx.putImageData(data, 0, 0); + // Make sure the exception isn't caused by calling the function twice. + ctx.putImageData(data, 0, 0); + // Calling again inside a layer should throw. + ctx.beginLayer(); + assert_throws_dom("InvalidStateError", () => ctx.putImageData(data, 0, 0)); + - name: 2d.layer.transferToImageBitmap desc: Check that calling transferToImageBitmap in a layer throws an exception. canvasType: ['OffscreenCanvas', 'Worker']