<html> <head> <script src="../LayoutTests/fast/js/resources/js-test-pre.js"></script> </head> <body> <script> description("Test to verify that serial allocation and dereferencing of large canvases will succeed"); // This is a manual test because it runs too slow as a LayoutTest, especially for GPU tests with mesa. // 32 canvases of 8k x 8k will consume 8GB of RAM. // Garbage collection should kick-in to prevent OOM failures. for (var i = 0; i < 32; i++) { var canvas = document.createElement('canvas'); canvas.width = 8192; canvas.height = 8192; // Draw to trigger lazy backing store allocation var ctx = canvas.getContext('2d'); ctx.fillStyle = '#0f0'; ctx.fillRect(0, 0, 1, 1); // Verify that allocation succeeded by verifying that draw succeeded var imageData = ctx.getImageData(0, 0, 1, 1); var imgdata = imageData.data; shouldBe("imgdata[0]", "0"); shouldBe("imgdata[1]", "255"); shouldBe("imgdata[2]", "0"); } </script> <script src="../LayoutTests/fast/js/resources/js-test-post.js"></script> </body> </html>