| <!DOCTYPE html> |
| <script src="../../resources/js-test.js"></script> |
| <script> |
| description("Tests basic functionalities of offscreenCanvas.getContext on the main thread"); |
| |
| // Tests onstructor of OffscreenCanvas and length/width change |
| var aCanvas = new OffscreenCanvas(40, 60); |
| shouldBe("aCanvas.width", "40"); |
| shouldBe("aCanvas.height", "60"); |
| |
| aCanvas.width = 110; |
| aCanvas.height = 90; |
| shouldBe("aCanvas.width", "110"); |
| shouldBe("aCanvas.height", "90"); |
| |
| aCanvas.width = 0; // Zero dimension is allowed |
| shouldBe("aCanvas.width", "0"); |
| |
| // Tests object type of getContext('2d') |
| var ctx; |
| shouldNotThrow("ctx = aCanvas.getContext('2d')"); |
| shouldBeType("ctx", "OffscreenCanvasRenderingContext2D"); |
| |
| // Calling getContext on a different context type will return null |
| var ctx2 = aCanvas.getContext("webgl"); |
| shouldBeNull("ctx2"); |
| |
| // Calling getContext on the same context type will return the original context type |
| var ctx3 = aCanvas.getContext("2d"); |
| shouldBeNonNull("ctx3"); |
| shouldBeTrue("ctx3 == ctx"); |
| |
| // TODO: change the below part of the test when webgl is supported. |
| // Calling getContext on an unimplemented context type will return null |
| var bogusCanvas = new OffscreenCanvas(20, 20); |
| var bogusCtx = bogusCanvas.getContext("webgl"); |
| shouldBeNull("bogusCtx"); |
| </script> |