<p>Page 2.
<p>This test checks that going back twice without committing doesn't corrupt the back/forward list.
<p>If testing manually, <a href="back-twice-page-3.html">click here</a>.

<script>
if (!window.localStorage.page2Started) {
    window.localStorage.page2Started = true;
} else {
    delete window.localStorage.page2Started;

    // The second time we visit the page (i.e., while going back), insert an
    // iframe that doesn't commit during the test.
    var f = document.createElement("iframe");
    f.src = "../../history/resources/back-during-onload-hung-page.php";
    document.body.appendChild(f);

    // Now go back.  This will compete with the second queueBackNavigation
    // from back-twice-without-commit.html.
    history.back();
}
</script>
