| <!DOCTYPE html> |
| <head> |
| <script src="../../resources/js-test-pre.js"></script> |
| <script> |
| var newWindow; |
| var intervalId; |
| var firstIntervalExecution = true; |
| |
| if (window.testRunner) { |
| testRunner.dumpAsText(); |
| testRunner.setCanOpenWindows(); |
| testRunner.waitUntilDone(); |
| testRunner.setPopupBlockingEnabled(true); |
| } |
| |
| function clickHandler() { |
| intervalId = setInterval(function() { |
| debug("Test calling window.open() in a 100 ms interval. A popup should only be allowed on the first execution of the interval."); |
| newWindow = window.open("about:blank"); |
| self.focus(); |
| if (firstIntervalExecution) { |
| shouldBeNonNull("newWindow"); |
| firstIntervalExecution = false; |
| } else { |
| shouldBeNull("newWindow"); |
| clearInterval(intervalId); |
| if (window.testRunner) |
| testRunner.notifyDone(); |
| } |
| }, 100); |
| } |
| |
| function clickButton() { |
| var button = document.getElementById("test"); |
| var buttonX = button.offsetLeft + button.offsetWidth / 2; |
| var buttonY = button.offsetTop + button.offsetHeight / 2; |
| if (window.eventSender) { |
| eventSender.mouseMoveTo(buttonX, buttonY); |
| eventSender.mouseDown(); |
| eventSender.mouseUp(); |
| } |
| } |
| </script> |
| </head> |
| <body onload="clickButton()"> |
| <button id="test" onclick="clickHandler()">Click Here</button> |
| <div id="console"></div> |
| </body> |