| <!DOCTYPE html> |
| <title>Tests basic functionalities of OffscreenCanvas.getContext on the main thread.</title> |
| <script src="../../resources/testharness.js"></script> |
| <script src="../../resources/testharnessreport.js"></script> |
| <script> |
| test(function() { |
| // Tests constructor of OffscreenCanvas and height/width change. |
| var aCanvas = new OffscreenCanvas(40, 60); |
| assert_equals(aCanvas.width, 40); |
| assert_equals(aCanvas.height, 60); |
| |
| aCanvas.width = 110; |
| aCanvas.height = 90; |
| assert_equals(aCanvas.width, 110); |
| assert_equals(aCanvas.height, 90); |
| |
| aCanvas.width = 0; // Zero dimension is allowed. |
| assert_equals(aCanvas.width, 0); |
| |
| assert_throws(new TypeError(), function() { aCanvas.getContext('bogus'); }); |
| |
| // Tests object type of getContext('2d'). |
| var ctx = aCanvas.getContext('2d'); |
| assert_true(ctx instanceof OffscreenCanvasRenderingContext2D); |
| // Calling getContext on a different context type will return null. |
| var ctx2 = aCanvas.getContext("webgl"); |
| assert_equals(ctx2, null); |
| |
| // Calling getContext on the same context type will return the original context type. |
| var ctx3 = aCanvas.getContext("2d"); |
| assert_not_equals(ctx3, null); |
| assert_equals(ctx3, ctx); |
| |
| var bCanvas = new OffscreenCanvas(20, 20); |
| var ctx4 = bCanvas.getContext("webgl"); |
| assert_true(ctx4 instanceof WebGLRenderingContext); |
| }); |
| </script> |