| <!DOCTYPE html> |
| <!-- DO NOT EDIT! This test has been generated by /html/canvas/tools/gentest.py. --> |
| <title>OffscreenCanvas test: 2d.layer.malformed-operations-with-promises</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="/html/canvas/resources/canvas-tests.js"></script> |
| |
| <script> |
| |
| 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."); |
| |
| </script> |