| Index: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..4d43564d11c017d397ca852d1c08e9498d6a4194
|
| --- /dev/null
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html
|
| @@ -0,0 +1,51 @@
|
| +<!DOCTYPE html>
|
| +<html>
|
| +<body>
|
| +<canvas id='output' width='150' height='150'></canvas>
|
| +<script id='myWorker' type='text/worker'>
|
| +self.onmessage = function(e) {
|
| + var aCanvas = new OffscreenCanvas(150, 150);
|
| + var ctx = aCanvas.getContext('2d');
|
| +
|
| + var myPattern = ctx.createPattern(e.data, 'repeat');
|
| + ctx.fillStyle = myPattern;
|
| + ctx.fillRect(0, 0, aCanvas.width, aCanvas.height);
|
| +
|
| + var image = aCanvas.transferToImageBitmap();
|
| + self.postMessage(image, [image]);
|
| +};
|
| +</script>
|
| +<script>
|
| +if (window.testRunner) {
|
| + testRunner.waitUntilDone();
|
| +}
|
| +
|
| +var patternCanvas = document.createElement('canvas');
|
| +patternCanvas.width = 30;
|
| +patternCanvas.height = 30;
|
| +var patternCtx = patternCanvas.getContext('2d');
|
| +patternCtx.fillStyle = '#f00';
|
| +patternCtx.fillRect(0, 0, 15, 15);
|
| +patternCtx.fillStyle = '#0f0';
|
| +patternCtx.fillRect(15, 0, 15, 15);
|
| +patternCtx.fillStyle = '#00f';
|
| +patternCtx.fillRect(0, 15, 15, 15);
|
| +patternCtx.fillStyle = "#ff0";
|
| +patternCtx.fillRect(15, 15, 15, 15);
|
| +createImageBitmap(patternCanvas).then(consumeImageBitmap);
|
| +
|
| +function consumeImageBitmap(patternImage) {
|
| + 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('bitmaprenderer');
|
| + outputCtx.transferFromImageBitmap(msg.data);
|
| + if (window.testRunner) {
|
| + testRunner.notifyDone();
|
| + }
|
| + });
|
| + worker.postMessage(patternImage, [patternImage]);
|
| +}
|
| +</script>
|
| +</body>
|
| +
|
|
|