| 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 |