blob: e555fa97de262f9322e8950a943ddb5a3c41e0bf [file] [log] [blame]
<!DOCTYPE html>
<html>
<script src="../../resources/js-test.js"></script>
<body>
<script id="myWorker" type="text/worker">
self.onmessage = function(e) {
var aCanvas = new OffscreenCanvas(50, 50);
try {
var ctx = aCanvas.getContext('2d');
if (toString.call(ctx) != '[object OffscreenCanvasRenderingContext2D]') {
self.postMessage("aCanvas.getContext('2d') does not return [object OffscreenCanvasRenderingContext2D]");
} else {
self.postMessage("success");
}
} catch (e) {
self.postMessage(e);
}
};
</script>
<script>
jsTestIsAsync = true;
description("Tests that the 2D context of OffscreenCanvas can be constructed on a worker thread.");
function makeWorker(script) {
var blob = new Blob([script]);
return new Worker(URL.createObjectURL(blob));
}
function handleMessageFromWorker(msg)
{
if (msg.data == "success") {
testPassed("getContext('2d') correctly returns [object OffscreenCanvasRenderingContext2D].");
} else {
testFailed(msg.data);
}
finishJSTest();
}
var worker = makeWorker(document.getElementById('myWorker').textContent);
worker.addEventListener('message', handleMessageFromWorker);
worker.postMessage("");
</script>
</body>
</html>