<html>
<script>
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    if (window.internals)
        internals.setAlwaysAllowLocalWebarchive(false);

    function frameLoaded() {
        if (window.testRunner)
            testRunner.notifyDone();
    }
    setTimeout(frameLoaded, 10);
</script>
<body>
    <iframe onload="frameLoaded();" src="resources/helloworld.webarchive"></iframe>
    This test assumes the webarchive is not loaded.
</body>
</html>
