| // DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. |
| // OffscreenCanvas test in a worker:2d.layer.malformed-operations-with-promises |
| // Description: |
| // Note: |
| |
| importScripts("/resources/testharness.js"); |
| importScripts("/html/canvas/resources/canvas-tests.js"); |
| |
| promise_test(async t => { |
| const canvas = new OffscreenCanvas(200, 200); |
| const ctx = canvas.getContext('2d'); |
| |
| // Shouldn't throw on its own. |
| await canvas.convertToBlob(); |
| // Make sure the exception isn't caused by calling the function twice. |
| await canvas.convertToBlob(); |
| // Calling again inside a layer should throw. |
| ctx.beginLayer(); |
| await promise_rejects_dom(t, 'InvalidStateError', |
| canvas.convertToBlob()); |
| }, "Throws if convertToBlob is called while layers are open."); |
| |
| promise_test(async t => { |
| const canvas = new OffscreenCanvas(200, 200); |
| const ctx = canvas.getContext('2d'); |
| |
| // Shouldn't throw on its own. |
| await createImageBitmap(canvas); |
| // Make sure the exception isn't caused by calling the function twice. |
| await createImageBitmap(canvas); |
| // Calling again inside a layer should throw. |
| ctx.beginLayer(); |
| await promise_rejects_dom(t, 'InvalidStateError', |
| createImageBitmap(canvas)); |
| }, "Throws if createImageBitmap is called while layers are open."); |
| |
| done(); |