<html>
<script>
if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}
function run() {
    if (history.length > 1) {
        document.body.innerHTML = 'PASS';
        if (window.testRunner)
          testRunner.notifyDone();
        return;
    }
    var evt = document.createEvent("MouseEvents"); 
    evt.initMouseEvent("click", true, true, window,
      0, 0, 0, 0, 0, false, false, false, false, 0, null); 
    document.getElementById('anchor').dispatchEvent(evt);
}
</script>
<body onload='run()'>
    <a id='anchor' href='data:text/html,<script>function deferCallbacks(defer){testRunner.setDefersLoading(defer)}</script><body onload="if(window.testRunner){deferCallbacks(true);testRunner.goBack();deferCallbacks(false)}">FAIL</body>'>go to second page</a>
</body>
</html>
