Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(12)

Unified Diff: third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-pattern-in-worker.html

Issue 1919363002: Add createGradient and createPattern to OffscreenCanvas2D in worker (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: ScriptState Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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>
+

Powered by Google App Engine
This is Rietveld 408576698