<script>
if (window.testRunner) {
    window.internals.settings.setForcePendingWebGLPolicy(true);
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.addEventListener("load", function () {

    var canvas = document.createElement("canvas");
    canvas.width = 100;
    canvas.height = 100;
    var gl = canvas.getContext("webgl");
    var foo = gl.drawingBufferWidth;
    foo = gl.drawingBufferHeight;

    if (window.testRunner)
        testRunner.notifyDone();

}, false);
</script>

Should not crash.
