<!DOCTYPE html>
<html>
<head>
    <title>Resending form on back navigation from POST submissions</title>
    <script src="../resources/js-test-pre.js"></script>
</head>
<body onload="runTest()">
<iframe id="frame" onload="nextStep()" src="resources/post-in-iframe-with-back-navigation-page-1.303-to-307-target.py" width=300 height=300></iframe>
<p>Resending form on back navigation from POST submissions<br/><br/>

To test manually, click on the navigation links in the iframe. When going back from page 3, it should navigate to page 2 without requesting to resend the form.
</p>
<div id="console"></div>

<script>
var loaded = false;
function runTest()
{
    if (window.testRunner) {
        testRunner.dumpAsText();
        testRunner.waitUntilDone();
    }
    
    loaded = true;
    setTimeout(function() { testRunner.notifyDone(); }, 200);
}

function clickLink()
{
    var frame = document.getElementById("frame");
    var link = window.frames[0].document.getElementById("link");
    if (window.eventSender) {
        eventSender.mouseMoveTo(link.offsetLeft + frame.offsetLeft + 10, link.offsetTop + frame.offsetTop + 3);
        eventSender.mouseDown();
        eventSender.mouseUp();
    }
}

function getTitle()
{
    return window.frames[0].document.querySelector("h1").innerText;
}

var step = 0;
var step2output;
function nextStep()
{
    if (!loaded) {
        setTimeout(nextStep, 10);
        return;
    }

    switch (step++) {
    case 0:
        shouldBeEqualToString("getTitle()", "Page 1");
        setTimeout(clickLink, 0);
        break;
    case 1:
        shouldBeEqualToString("getTitle()", "Page 2");
        step2output = window.frames[0].document.getElementById("submissionTime").innerText;
        setTimeout(clickLink, 0);
        break;
    case 2:
        shouldBeEqualToString("getTitle()", "Page 3");
        setTimeout(clickLink, 0);
        break;
    case 3:
        shouldBeEqualToString("getTitle()", "Page 2");
        shouldBe("window.frames[0].document.getElementById('submissionTime').innerText", "step2output");
        if (window.testRunner);
            testRunner.notifyDone();
        break;
    }
}

successfullyParsed = true;
</script>
<script src="../resources/js-test-post.js"></script>
</body>
</html>
