Home | History | Annotate | Download | only in ManualTests
      1 <html>
      2 <head>
      3 <script src="../LayoutTests/fast/js/resources/js-test-pre.js"></script>
      4 </head>
      5 <body>
      6 <script>
      7 description("Test to verify that serial allocation and dereferencing of large canvases will succeed");
      8 // This is a manual test because it runs too slow as a LayoutTest, especially for GPU tests with mesa.
      9 
     10 // 32 canvases of 8k x 8k will consume 8GB of RAM.
     11 // Garbage collection should kick-in to prevent OOM failures.
     12 for (var i = 0; i < 32; i++) {
     13     var canvas = document.createElement('canvas');
     14     canvas.width = 8192;
     15     canvas.height = 8192;
     16     // Draw to trigger lazy backing store allocation
     17     var ctx = canvas.getContext('2d');
     18     ctx.fillStyle = '#0f0';
     19     ctx.fillRect(0, 0, 1, 1);
     20     // Verify that allocation succeeded by verifying that draw succeeded
     21     var imageData = ctx.getImageData(0, 0, 1, 1);
     22     var imgdata = imageData.data;
     23     shouldBe("imgdata[0]", "0");
     24     shouldBe("imgdata[1]", "255");
     25     shouldBe("imgdata[2]", "0");
     26 }
     27 </script>
     28 <script src="../LayoutTests/fast/js/resources/js-test-post.js"></script>
     29 </body>
     30 </html>
     31