blob: e50866997db917a149cdb970f1f70a4bad51e8e6 [file] [log] [blame]
<!DOCTYPE html>
<html>
<body>
<canvas id='output' width='200' height='400'></canvas>
<script id='myWorker' type='text/worker'>
self.onmessage = function(e) {
var aCanvas = new OffscreenCanvas(200, 400);
var ctx = aCanvas.getContext('2d');
ctx.beginPath();
ctx.lineWidth = '10';
ctx.strokeStyle = 'green';
ctx.lineJoin = 'round';
ctx.moveTo(15, 15);
ctx.lineTo(135, 15);
ctx.lineTo(70, 170);
ctx.closePath();
ctx.stroke();
var path1 = new Path2D();
path1.moveTo(150, 25);
path1.bezierCurveTo(10, 150, 10, 300, 100, 200);
ctx.strokeStyle = 'purple';
ctx.setLineDash([ 10, 5 ]);
ctx.stroke(path1);
ctx.fillStyle = 'red';
ctx.beginPath()
ctx.arc(75, 325, 50, 0, Math.PI * 2, true);
ctx.arc(75, 325, 20, 0, Math.PI * 2, true);
ctx.fill("evenodd");
var image = aCanvas.transferToImageBitmap();
self.postMessage(image, [image]);
};
</script>
<script>
if (window.testRunner) {
testRunner.waitUntilDone();
}
var blob = new Blob([document.getElementById('myWorker').textContent]);
var worker = new Worker(URL.createObjectURL(blob));
worker.addEventListener('message', msg => {
var outputCtx = document.getElementById('output').getContext('imagebitmap');
outputCtx.transferImageBitmap(msg.data);
if (window.testRunner) {
testRunner.notifyDone();
}
});
worker.postMessage("");
</script>
</body>
</html>