<!-- webkit-test-runner [ UsesBackForwardCache=true ] -->
<html>
<body>
<pre id="log"></pre>
</body>
<script>

if (window.testRunner) {
    testRunner.dumpAsText();
    testRunner.waitUntilDone();
}

window.onpageshow = function(evt) {
    // Location changes need to happen outside the onload handler to generate history entries.
    setTimeout(function() {window.location.href = 'resources/unschedule-relayout-after-unload-target.html';}, 0);
};

window.onpagehide = function(evt) {
    document.getElementById('log').innerHTML += 'onpagehide';
};

</script>
</html>
