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

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

Issue 2181183003: Expose imageSmothing attributes in OffscreenCanvas 2D context (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed layout tests Created 4 years, 5 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-imageSmoothing-in-worker.html
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-imageSmoothing-in-worker.html b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-imageSmoothing-in-worker.html
new file mode 100644
index 0000000000000000000000000000000000000000..2c20cf2f5bdc2f4e674e346d29c45f9b82150964
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/canvas/OffscreenCanvas-2d-imageSmoothing-in-worker.html
@@ -0,0 +1,52 @@
+<!DOCTYPE html>
+<p>Below this text, there should be a checker pattern that is drawn pixelated, and with low, medium and high filtering quality.</p>
+<canvas id="canvasOutput" width="250" height="50"></canvas>
+<script id='myWorker' type='text/worker'>
+self.onmessage = function(msg) {
+ var osCanvas = new OffscreenCanvas(250, 50);
+ var ctx = osCanvas.getContext('2d');
+ ctx.scale(10, 10)
+ ctx.imageSmoothingEnabled = false;
+ ctx.drawImage(msg.data, 0, 0);
+ ctx.imageSmoothingEnabled = true;
+ ctx.imageSmoothingQuality = 'low';
+ ctx.drawImage(msg.data, 6, 0);
+ ctx.imageSmoothingQuality = 'medium';
+ ctx.drawImage(msg.data, 12, 0);
+ ctx.imageSmoothingQuality = 'high';
+ ctx.drawImage(msg.data, 18, 0);
+ var outImage = osCanvas.transferToImageBitmap();
+ self.postMessage(outImage, [outImage]);
+}
+</script>
+
+<script>
+if (window.testRunner) {
+ testRunner.waitUntilDone();
+}
+
+var checkerCanvas = document.createElement('canvas');
+checkerCanvas.width = checkerCanvas.height = 5;
+var checkerContext = checkerCanvas.getContext('2d');
+var checkerData = checkerContext.createImageData(5,5);
+for (pixel = 0; pixel < 25; pixel++) {
+ var color = (pixel % 2) * 255;
+ checkerData.data[pixel * 4 + 0] = color;
+ checkerData.data[pixel * 4 + 1] = color;
+ checkerData.data[pixel * 4 + 2] = color;
+ checkerData.data[pixel * 4 + 3] = 255;
+}
+checkerContext.putImageData(checkerData, 0, 0);
+createImageBitmap(checkerCanvas).then(image => {
+ var blob = new Blob([document.getElementById('myWorker').textContent]);
+ var worker = new Worker(URL.createObjectURL(blob));
+ worker.addEventListener('message', msg => {
+ var outputCtx = document.getElementById('canvasOutput').getContext('bitmaprenderer');
+ outputCtx.transferFromImageBitmap(msg.data);
+ if (window.testRunner) {
+ testRunner.notifyDone();
+ }
+ });
+ worker.postMessage(image, [image]);
+});
+</script>

Powered by Google App Engine
This is Rietveld 408576698