<html>
<script>
    if (window.testRunner) {
        testRunner.waitUntilDone();
        testRunner.dumpAsText();
    }
    if (window.internals)
        internals.setAlwaysAllowLocalWebarchive(true);
    window.location="resources/top.webarchive";
</script>
</html>
