blob: 25e16655d90f36e2f2728ee57323e715c5ceb177 [file] [log] [blame]
<!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>