<!DOCTYPE html>
<html>
<head>
    <title>Test for Bug 33533: window.onload never fires if page contains an &lt;iframe> with a bad scheme or whose load is cancelled by returning null from resource load delegate's willSendRequest</title>
    <script>
        if (window.testRunner) {
            testRunner.dumpAsText();
            testRunner.setCustomPolicyDelegate(true);
        }

        window.onload = function() {
            var result = document.getElementById("result");
            if (!window.testRunner) {
                result.innerText = "This test can only be run in DumpRenderTree.";
                return;
            }
            result.innerText = "PASSED";
        };
    </script>
</head>
<body>
    <p>Test for <a href="http://webkit.org/b/33533">window.onload never fires if page contains an
    &lt;iframe> with a bad scheme or whose load is cancelled by returning null from resource load
    delegate's willSendRequest</a>. If the test passes, you should see the word "PASSED" below.</p>
    <div id=result>FAILED</div>
    <iframe src="http://www.example.com/"></iframe>
</body>
</html>
