<script>
if (window.testRunner) {
testRunner.waitUntilDone();
testRunner.dumpAsText();
testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(true);
}
// JavaScript onbeforeunload dialogs require a user gesture.
if (window.eventSender) {
eventSender.mouseMoveTo(5, 5);
eventSender.mouseDown();
eventSender.mouseUp();
}
_confirmationDialogDisplayedOnce = false;
window.onbeforeunload = function() {
if (window._confirmationDialogDisplayedOnce)
return "Click 'Leave Page'";
window.setTimeout(function() {
if (window.testRunner)
testRunner.setShouldStayOnPageAfterHandlingBeforeUnload(false);
window.setTimeout(function() {
document.getElementById("console").innerHTML = "FAIL";
if (window.testRunner)
testRunner.notifyDone();
}, 1000);
document.forms[0].submit();
}, 0);
window._confirmationDialogDisplayedOnce = true;
return "Click 'Stay on Page'";
};
</script>
<p>This tests that submitting a form a second time after canceling the first submission in a onbeforeunload handler is allowed. To test manually, follow the instructions in the JavaScript confirmation dialogs.</p>
<div id="console"></div>
<form action="resources/pass-and-notify-done.html" method="POST">
</form>
<script>
document.forms[0].submit();
</script>