| Index: third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
|
| diff --git a/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
|
| index db9365306f0659c737e50cbcd8ce1a476b19a3b5..ca94e8111f65396267a57cf184f56ca75b838403 100644
|
| --- a/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
|
| +++ b/third_party/WebKit/LayoutTests/fast/canvas/canvas-imageSmoothingEnabled-repaint.html
|
| @@ -1,11 +1,54 @@
|
| -<!DOCTYPE html>
|
| -<html>
|
| -<head>
|
| - <script src="../../resources/js-test.js"></script>
|
| -</head>
|
| +<script src="../../resources/testharness.js"></script>
|
| +<script src="../../resources/testharnessreport.js"></script>
|
| <body>
|
| - <canvas id="destination" width="300" height="300"></canvas>
|
| - <canvas id="source" width="300" height="300"></canvas>
|
| - <script src="script-tests/canvas-imageSmoothingEnabled-repaint.js"></script>
|
| +<canvas id="destination" width="300" height="300"></canvas>
|
| +<canvas id="source" width="300" height="300"></canvas>
|
| +<script>
|
| +// This is a regression test for bug https://bugs.webkit.org/show_bug.cgi?id=89018
|
| +var dstCanvas = document.getElementById("destination");
|
| +var dstCtx = dstCanvas.getContext('2d');
|
| +var srcCanvas = document.getElementById("source");
|
| +var srcCtx = srcCanvas.getContext('2d');
|
| +
|
| +var srcCanvas, srcCtx, dstCanvas, dstCtx;
|
| +
|
| +function draw()
|
| +{
|
| + srcCtx.clearRect(0, 0, 300, 300);
|
| + dstCtx.clearRect(0, 0, 300, 300);
|
| + srcCtx.fillStyle = "rgb(255, 0, 0)";
|
| + srcCtx.fillRect(0, 0, 1, 1);
|
| + srcCtx.fillStyle = "rgb(0, 255, 0)";
|
| + srcCtx.fillRect(1, 0, 1, 1);
|
| + dstCtx.imageSmoothingEnabled = false;
|
| + dstCtx.drawImage(srcCanvas, 0, 0, 2, 1, 0, 0, 300, 300);
|
| +}
|
| +
|
| +// Bug 89018 requires 2 draw iteration in order to manifest itself.
|
| +var drawIterations = 2;
|
| +
|
| +function BrowserPaint()
|
| +{
|
| + draw();
|
| + if (drawIterations > 0) {
|
| + drawIterations = drawIterations - 1;
|
| + window.requestAnimationFrame(BrowserPaint);
|
| + return;
|
| + }
|
| + test(function(t) {
|
| + // Test that the image is not filtered
|
| + left_of_center_pixel = dstCtx.getImageData(149, 150, 1, 1);
|
| + assert_equals(left_of_center_pixel.data[0], 255);
|
| + assert_equals(left_of_center_pixel.data[1], 0);
|
| + assert_equals(left_of_center_pixel.data[2], 0);
|
| + right_of_center_pixel = dstCtx.getImageData(150, 150, 1, 1);
|
| + assert_equals(right_of_center_pixel.data[0], 0);
|
| + assert_equals(right_of_center_pixel.data[1], 255);
|
| + assert_equals(right_of_center_pixel.data[2], 0);
|
| + }, "Tests that disabling the imageSmoothingEnabled attribute still works after multiple repaints");
|
| +}
|
| +
|
| +window.onload = BrowserPaint;
|
| +
|
| +</script>
|
| </body>
|
| -</html>
|
|
|