| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> |
| <title>Canvas test: 2d.layer.malformed-operations.putImageData</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/html/canvas/resources/canvas-tests.js"></script> |
| <link rel="stylesheet" href="/html/canvas/resources/canvas-tests.css"> |
| <body class="show_output"> |
| |
| <h1>2d.layer.malformed-operations.putImageData</h1> |
| <p class="desc">Check that exceptions are thrown for operations that are malformed while layers are open.</p> |
| |
| |
| <p class="output">Actual output:</p> |
| <canvas id="c" class="output" width="200" height="200"><p class="fallback">FAIL (fallback content)</p></canvas> |
| |
| <ul id="d"></ul> |
| <script> |
| test(t => { |
| var canvas = document.getElementById('c'); |
| var ctx = canvas.getContext('2d'); |
| |
| const canvas2 = new OffscreenCanvas(200, 200); |
| const ctx2 = canvas2.getContext('2d') |
| const data = ctx2.getImageData(0, 0, 1, 1); |
| // Shouldn't throw on its 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)); |
| |
| }, "Check that exceptions are thrown for operations that are malformed while layers are open."); |
| </script> |
| |