<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
</script>

<div style="visibility:hidden; position:absolute; z-index:1">
    <div style="visibility:hidden; position:absolute; z-index:1">
        <div id="container" style="position:absolute">PASS</div>
    </div>
</div>

<script>
    window.addEventListener('load', function() {
        window.setTimeout(function() {
            document.getElementById("container").style.visibility = "visible";
            if (window.testRunner)
                testRunner.notifyDone();
        }, 0);
    }, false);
</script>

