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

Side by Side Diff: LayoutTests/fast/canvas/script-tests/canvas-imageSmoothingEnabled-repaint.js

Issue 196353013: Convert some repaint tests to not call display() (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: More expectations, remove do-not-repaint tricky test Created 6 years, 9 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // This is a regression test for bug https://bugs.webkit.org/show_bug.cgi?id=890 18 1 // This is a regression test for bug https://bugs.webkit.org/show_bug.cgi?id=890 18
2 2
3 description("Tests that disabling the imageSmoothingEnabled attribute still work s after multiple repaints"); 3 description("Tests that disabling the imageSmoothingEnabled attribute still work s after multiple repaints");
4 var dstCanvas = document.getElementById("destination"); 4 var dstCanvas = document.getElementById("destination");
5 var dstCtx = dstCanvas.getContext('2d'); 5 var dstCtx = dstCanvas.getContext('2d');
6 var srcCanvas = document.getElementById("source"); 6 var srcCanvas = document.getElementById("source");
7 var srcCtx = srcCanvas.getContext('2d'); 7 var srcCtx = srcCanvas.getContext('2d');
8 8
9 9
10 var srcCanvas, srcCtx, dstCanvas, dstCtx; 10 var srcCanvas, srcCtx, dstCanvas, dstCtx;
11 11
12 function draw() 12 function draw()
13 { 13 {
14 srcCtx.clearRect(0, 0, 300, 300); 14 srcCtx.clearRect(0, 0, 300, 300);
15 dstCtx.clearRect(0, 0, 300, 300); 15 dstCtx.clearRect(0, 0, 300, 300);
16 srcCtx.fillStyle = "rgb(255, 0, 0)"; 16 srcCtx.fillStyle = "rgb(255, 0, 0)";
17 srcCtx.fillRect(0, 0, 1, 1); 17 srcCtx.fillRect(0, 0, 1, 1);
18 srcCtx.fillStyle = "rgb(0, 255, 0)"; 18 srcCtx.fillStyle = "rgb(0, 255, 0)";
19 srcCtx.fillRect(1, 0, 1, 1); 19 srcCtx.fillRect(1, 0, 1, 1);
20 dstCtx.imageSmoothingEnabled = false; 20 dstCtx.imageSmoothingEnabled = false;
21 dstCtx.drawImage(srcCanvas, 0, 0, 2, 1, 0, 0, 300, 300); 21 dstCtx.drawImage(srcCanvas, 0, 0, 2, 1, 0, 0, 300, 300);
22 } 22 }
23 23
24 function testResult() { 24 function testResult() {
25 debug("Test that the image is not filtered"); 25 debug("Test that the image is not filtered");
26 » left_of_center_pixel = dstCtx.getImageData(149, 150, 1, 1); 26 left_of_center_pixel = dstCtx.getImageData(149, 150, 1, 1);
27 » shouldBe("left_of_center_pixel.data[0]", "255"); 27 shouldBe("left_of_center_pixel.data[0]", "255");
28 » shouldBe("left_of_center_pixel.data[1]", "0"); 28 shouldBe("left_of_center_pixel.data[1]", "0");
29 » shouldBe("left_of_center_pixel.data[2]", "0"); 29 shouldBe("left_of_center_pixel.data[2]", "0");
30 » right_of_center_pixel = dstCtx.getImageData(150, 150, 1, 1); 30 right_of_center_pixel = dstCtx.getImageData(150, 150, 1, 1);
31 » shouldBe("right_of_center_pixel.data[0]", "0"); 31 shouldBe("right_of_center_pixel.data[0]", "0");
32 » shouldBe("right_of_center_pixel.data[1]", "255"); 32 shouldBe("right_of_center_pixel.data[1]", "255");
33 » shouldBe("right_of_center_pixel.data[2]", "0"); 33 shouldBe("right_of_center_pixel.data[2]", "0");
34 finishJSTest(); 34 finishJSTest();
35 } 35 }
36 36
37 // Bug 89018 requires 2 draw iteration in order to manifest itself. 37 // Bug 89018 requires 2 draw iteration in order to manifest itself.
38 var drawIterations = 2; 38 var drawIterations = 2;
39 39
40 // Unrolled repaint loop for running the test in DumpRenderTree
41 function TestControllerPaint() {
42 while (drawIterations > 0) {
43 draw();
44 testRunner.display();
45 drawIterations = drawIterations - 1;
46 }
47 draw();
48 testResult();
49 }
50
51 // Repaint loop for running the test in the browser
52 function BrowserPaint(){ 40 function BrowserPaint(){
53 draw(); 41 draw();
54 » if (drawIterations > 0) { 42 if (drawIterations > 0) {
55 » » drawIterations = drawIterations - 1; 43 drawIterations = drawIterations - 1;
56 » » window.requestAnimationFrame(BrowserPaint); 44 window.requestAnimationFrame(BrowserPaint);
57 } else { 45 } else {
58 » testResult(); 46 testResult();
59 » } 47 }
60 } 48 }
61 49
62 function onLoadHandler() 50 function onLoadHandler()
63 { 51 {
64 if (window.testRunner) { 52 BrowserPaint();
65 TestControllerPaint();
66 } else {
67 BrowserPaint();
68 }
69 } 53 }
70 54
71 window.jsTestIsAsync = true; 55 window.jsTestIsAsync = true;
72 window.onload = onLoadHandler; 56 window.onload = onLoadHandler;
73 57
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698