<!-- webkit-test-runner [ enablePageCache=true ] -->
<body onload="redirect()">
<!-- Needs to take two seconds, because a faster refresh would result in not creating a b/f item for the navigation -->
<iframe src='data:text/html,<meta http-equiv="Refresh" content="2; URL=about:blank"><script>if (window.testRunner) { window.onpagehide=function(e){alert(&apos;pagehide &apos; + e.persisted)}; }</script>'></iframe>
<a id="outerLink" href='data:text/html,<p>PASSED if didn&apos;t crash in two seconds.</p><script>if (window.testRunner) setTimeout("testRunner.notifyDone()", 2500); </script>'>test</a>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

function redirect()
{
    setTimeout(function () {
        if (window.eventSender) {
            var el = document.getElementById("outerLink");
            eventSender.mouseMoveTo(el.offsetLeft + 5, el.offsetTop + 5);
            eventSender.mouseDown();
            eventSender.mouseUp();
        }
    }, 0);
}
</script>
