<div id="result">PASS if this test did not crash.</div>
<script>
if (window.testRunner) {
    testRunner.waitUntilDone();
    testRunner.dumpAsText();
}
let size = 100;
let canvii = new Array();
for (let i = 0; i < size; i++) {
    canvii[i] = document.createElement("canvas");
    canvii[i].width = 1;
    canvii[i].height = 1;
    canvii[i].getContext("webgl");
}
for (let i = 0; i < size; i++) {
    let context = canvii[i].getContext("webgl");
    console.log(context.drawingBufferWidth);
}
if (window.testRunner)
    testRunner.notifyDone();
</script>
