blob: 429e2baefa04ec75f48c210064bd13f4ebe31cbf [file] [log] [blame]
<!DOCTYPE>
<canvas id="canvas2D" width="50" height="50" background-color="red"></canvas>
<script id="myWorker" type="text/worker">
self.onmessage = function(e) {
var transferredOffscreenCanvas = e.data.data;
var offscreen2d = transferredOffscreenCanvas.getContext("2d");
offscreen2d.commit();
self.postMessage("");
};
</script>
<script>
// Note: If someone see this test flaky in the future, please mark the test as
// flaky; the code itself is not the cause of such flakiness.
// TODO(xlai): Guarantee all OffscreenCanvas commit tests non-flaky under all cases.
// See crbug.com/645173.
if (window.testRunner) {
testRunner.dumpAsTextWithPixelResults();
testRunner.waitUntilDone();
}
function makeWorker(script) {
var blob = new Blob([script]);
return new Worker(URL.createObjectURL(blob));
}
var canvas2D = document.getElementById("canvas2D");
var offscreenCanvas = canvas2D.transferControlToOffscreen();
var worker = makeWorker(document.getElementById("myWorker").textContent);
worker.onmessage = function (e) {
if (window.testRunner) testRunner.notifyDone();
};
worker.postMessage({data: offscreenCanvas}, [offscreenCanvas]);
</script>