<!DOCTYPE html> <html> <body> <p> Test for <a href="https://bugs.webkit.org/show_bug.cgi?id=28633">Bug 28633 - Submitting a form with target=_blank works only once</a> </p> <p> This test will click the first submit button twice, then press the space bar on the second submit button twice. Both should popup two blank windows. </p> <form action="resources/submit-to-blank-multiple-times-form-action.html" target="_blank"> <input name="nextOp" id="nextOp" type="hidden"> <input name="submit" id="submit" type="submit"> </form> <form action="resources/submit-to-blank-multiple-times-form-action.html" target="_blank"> <input name="nextOp" id="nextOpKey" type="hidden"> <input name="submit" id="submitKey" type="submit"> </form> <div id="console"></div> <script type="text/javascript"> if (window.testRunner) { testRunner.dumpAsText(); testRunner.setCanOpenWindows(); testRunner.waitUntilDone(); } var numberTimesToClick = 2; var numberTimesToSpace = 2; window.onload = function() { if (!window.testRunner || !window.eventSender) return; click(); // Set a timeout to notify done in case the test fails. setTimeout(notifyDone, 2000); }; function log(message) { var span = document.createElement("span"); span.innerHTML = message + "<br>"; document.getElementById("console").appendChild(span); } function click() { log("Clicking first button, should open new window"); var button = document.getElementById("submit"); var x = button.offsetLeft + button.offsetWidth/2; var y = button.offsetTop + button.offsetHeight/2; numberTimesToClick--; if (numberTimesToClick > 0) document.getElementById("nextOp").value = "click"; else document.getElementById("nextOp").value = "space"; eventSender.mouseMoveTo(x, y); eventSender.mouseDown(); eventSender.mouseUp(); } function pressSpace() { log("Pressing space on second button, should open new window"); var button = document.getElementById("submitKey"); numberTimesToSpace--; if (numberTimesToSpace > 0) document.getElementById("nextOpKey").value = "space"; else document.getElementById("nextOpKey").value = "notifyDone"; button.focus(); eventSender.keyDown(' '); } function notifyDone() { testRunner.setCloseRemainingWindowsWhenComplete(); testRunner.notifyDone(); } </script> </body> </html>