summaryrefslogtreecommitdiff
path: root/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html
diff options
context:
space:
mode:
Diffstat (limited to 'Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html')
-rw-r--r--Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html66
1 files changed, 66 insertions, 0 deletions
diff --git a/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html b/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html
new file mode 100644
index 000000000..9c3df85e2
--- /dev/null
+++ b/Tools/TestWebKitAPI/Tests/WebKit2Cocoa/open-multiple-external-url.html
@@ -0,0 +1,66 @@
+<style>
+ iframe { width: 0; height: 0; visibility: hidden; }
+</style>
+
+<body>
+
+<script>
+window.addEventListener("click", function() {
+ let hash = window.location.hash;
+ switch (hash) {
+ case "#normalLoop":
+ normalLoop();
+ break;
+ case "#loopAfterTimer":
+ loopAfterTimer();
+ break;
+ case "#loopAfterPostMessage":
+ loopAfterPostMessage();
+ break;
+ case "#loopAfterLongTimer":
+ loopAfterLongTimer();
+ break;
+ }
+}, false);
+
+function normalLoop() {
+ for (var i = 0; i < 3; ++i) {
+ var iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ iframe.contentWindow.location = "mailto:someone@example.com?Subject=Hello%20again";
+ }
+}
+
+function loopAfterTimer() {
+ setTimeout(function() {
+ for (var i = 0; i < 3; ++i) {
+ var iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ iframe.contentWindow.location = "mailto:someone@example.com?Subject=Hello%20again";
+ }
+ }, 500);
+}
+
+function loopAfterPostMessage() {
+ window.onmessage = function() {
+ for (var i = 0; i < 3; ++i) {
+ var iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ iframe.contentWindow.location = "mailto:someone@example.com?Subject=Hello%20again";
+ }
+ }
+ window.postMessage("foo", "*");
+}
+
+function loopAfterLongTimer() {
+ setTimeout(function() {
+ for (var i = 0; i < 3; ++i) {
+ var iframe = document.createElement('iframe');
+ document.body.appendChild(iframe);
+ iframe.contentWindow.location = "mailto:someone@example.com?Subject=Hello%20again";
+ }
+ }, 2000);
+}
+
+</script>
+</body>