| <!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> |