OLD | NEW |
1 <!DOCTYPE HTML> | 1 <script src="../../resources/testharness.js"></script> |
2 <html> | 2 <script src="../../resources/testharnessreport.js"></script> |
3 <body> | 3 <script> |
4 <script src="../../resources/js-test.js"></script> | |
5 <script type="text/javascript"> | |
6 | 4 |
7 description("Verifies createPattern using a source image that is a canva
s 40k pixels wide."); | 5 test(function(t) { |
8 // This test does not currently succeed because skia does not handle | 6 var canvas = document.createElement('canvas'); |
9 // canvases more than 32k pixels wide. For now, this test serves the | 7 canvas.width = 40000; |
10 // purpose of verifying that this use case does not crash the browser. | 8 var context = canvas.getContext('2d'); |
11 // Crasher bug: crbug.com/281504 | 9 context.fillStyle = '#0f0'; |
| 10 context.fillRect(0, 0, 1, 1); |
12 | 11 |
13 var canvas = document.createElement('canvas'); | 12 var dstCanvas = document.createElement('canvas'); |
14 canvas.width = 40000; | 13 var dstContext = dstCanvas.getContext('2d'); |
15 var context = canvas.getContext('2d'); | 14 var pattern = dstContext.createPattern(canvas, 'repeat'); |
16 context.fillStyle = '#0f0'; | 15 dstContext.fillStyle = pattern; |
17 context.fillRect(0, 0, 1, 1); | 16 dstContext.fillRect(0, 0, dstCanvas.width, dstCanvas.height); |
18 | 17 |
19 var dstCanvas = document.createElement('canvas'); | 18 // This test does not currently succeed because skia does not handle |
20 var dstContext = dstCanvas.getContext('2d'); | 19 // canvases more than 32k pixels wide. For now, this test serves the |
21 var pattern = dstContext.createPattern(canvas, 'repeat'); | 20 // purpose of verifying that this use case does not crash the browser. |
22 dstContext.fillStyle = pattern; | 21 // Crasher bug: crbug.com/281504. |
23 dstContext.fillRect(0, 0, dstCanvas.width, dstCanvas.height); | 22 assert_array_equals(dstContext.getImageData(0, 0, 1, 1).data, [0, 255, 0, 25
5]); |
24 | 23 |
25 var imageData = dstContext.getImageData(0, 0, 1, 1); | 24 assert_array_equals(dstContext.getImageData(1, 0, 1, 1).data, [0, 0, 0, 0]); |
26 var imgdata = imageData.data; | 25 assert_array_equals(dstContext.getImageData(0, 1, 1, 1).data, [0, 0, 0, 0]); |
27 shouldBe("imgdata[0]", "0"); | 26 |
28 shouldBe("imgdata[1]", "255"); | 27 }, 'Tests createPattern using a source image that is a canvas 40k pixels wide.')
; |
29 shouldBe("imgdata[2]", "0"); | 28 </script> |
30 shouldBe("imgdata[3]", "255"); | |
31 | |
32 imageData = dstContext.getImageData(1, 0, 1, 1); | |
33 imgdata = imageData.data; | |
34 shouldBe("imgdata[0]", "0"); | |
35 shouldBe("imgdata[1]", "0"); | |
36 shouldBe("imgdata[2]", "0"); | |
37 shouldBe("imgdata[3]", "0"); | |
38 | |
39 imageData = dstContext.getImageData(0, 1, 1, 1); | |
40 imgdata = imageData.data; | |
41 shouldBe("imgdata[0]", "0"); | |
42 shouldBe("imgdata[1]", "0"); | |
43 shouldBe("imgdata[2]", "0"); | |
44 shouldBe("imgdata[3]", "0"); | |
45 </script> | |
46 </body> | |
47 </html> | |
OLD | NEW |