| <!DOCTYPE html> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script id="myWorker" type="text/worker"> |
| self.onmessage = function(e) { |
| }; |
| </script> |
| <script> |
| |
| function makeWorker(script) |
| { |
| var blob = new Blob([script]); |
| return new Worker(URL.createObjectURL(blob)); |
| } |
| |
| async_test(function(t) { |
| var worker = makeWorker(document.getElementById("myWorker").textContent); |
| var offscreenCanvas = new OffscreenCanvas(10, 10); |
| worker.postMessage({offscreenCanvas}, [offscreenCanvas]); |
| offscreenCanvas.convertToBlob().then(t.step_func_done(function() { |
| assert_false("convertToBlob didn't throw, but should be"); |
| }), t.step_func_done(function(e) { |
| assert_true(e instanceof DOMException); |
| assert_equals(e.name, "InvalidStateError"); |
| })); |
| }, "Test that call convertToBlob on a detached OffscreenCanvas throws exception"); |
| |
| async_test(function(t) { |
| var offscreenCanvas = new OffscreenCanvas(0, 0); |
| offscreenCanvas.convertToBlob().then(t.step_func_done(function() { |
| assert_false("convertToBlob didn't throw, but should be"); |
| }), t.step_func_done(function(e) { |
| assert_true(e instanceof DOMException); |
| assert_equals(e.name, "IndexSizeError"); |
| })); |
| }, "Test that call convertToBlob on a OffscreenCanvas with size 0 throws exception"); |
| |
| </script> |
| |