| Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..8cc9d6d9170d79b0ade6670871cd3b1b8c833834
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-commit-invalid-call.html
|
| @@ -0,0 +1,42 @@
|
| +<!DOCTYPE>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| +<script id="myWorker" type="text/worker">
|
| +self.onmessage = function(e) {
|
| + var offscreenCanvas = new OffscreenCanvas(50, 50);
|
| + var offscreen2d = offscreenCanvas.getContext("2d");
|
| + try {
|
| + offscreen2d.commit();
|
| + self.postMessage("NoError");
|
| + } catch (ex) {
|
| + self.postMessage(ex.name);
|
| + }
|
| +};
|
| +</script>
|
| +<script>
|
| +function makeWorker(script) {
|
| + var blob = new Blob([script]);
|
| + return new Worker(URL.createObjectURL(blob));
|
| +}
|
| +
|
| +
|
| +test(function() {
|
| + var offscreenCanvas = new OffscreenCanvas(50, 50);
|
| + var offscreen2d = offscreenCanvas.getContext("2d");
|
| + assert_throws("InvalidStateError", function () {
|
| + offscreen2d.commit();
|
| + });
|
| +}, "Calling OffscreenCanvas.commit() on main without transferControlToOffscreen throws exception.");
|
| +
|
| +async_test(function() {
|
| + var worker = makeWorker(document.getElementById("myWorker").textContent);
|
| + worker.onmessage = this.step_func(function (e) {
|
| + assert_equals(e.data, "InvalidStateError", "Expected exception on worker but receives " + e.data);
|
| + this.done();
|
| + });
|
| + worker.postMessage("");
|
| +}, "Calling OffscreenCanvas.commit() on worker without transferControlToOffscreen throws exception.");
|
| +
|
| +
|
| +
|
| +</script>
|
|
|