| <html> |
| <head> |
| <title>initial title</title> |
| <script> |
| var popup, popup2, popup3, popup4; |
| |
| function WindowOpen(file, name, attr) { |
| // Force windows to open in a new process. See https://crbug.com/153363. |
| var url = 'http://example.com:' + location.port + '/' + file; |
| var w = window.open('', name, attr); |
| w.opener = null; |
| w.location.href = url; |
| return w; |
| } |
| |
| // window.open, window.close should be synchronous |
| function test1() { |
| popup = WindowOpen('title1.html', 'name'); |
| popup.close(); |
| |
| popup = WindowOpen('title2.html', 'name', 'width=200,height=200'); |
| popup.close(); |
| document.location = 'title2.html' |
| } |
| |
| // Try opening/closing a few windows. |
| function test2() { |
| openPopups(); |
| closePopups(); |
| document.location = 'title2.html' |
| } |
| |
| function test3() { |
| openPopups(); |
| setTimeout(closePopups, 0); |
| setTimeout(test4, 1); |
| } |
| |
| function test4() { |
| openPopups(); |
| setTimeout(closePopupsAndDone, 250); |
| } |
| |
| function openPopups() { |
| popup = WindowOpen('title1.html', 'name'); |
| popup2 = WindowOpen('title1.html', 'name2'); |
| popup3 = WindowOpen('title1.html', 'name3'); |
| popup4 = WindowOpen('title1.html', 'name4'); |
| } |
| |
| function closePopups() { |
| popup.close(); |
| popup2.close(); |
| popup3.close(); |
| popup4.close(); |
| } |
| |
| function closePopupsAndDone() { |
| closePopups(); |
| document.location = 'title2.html' |
| } |
| |
| function startTheTest() { |
| if (location.search == "?test1") |
| test1(); |
| else if (location.search == "?test2") |
| test2(); |
| else if (location.search == "?test3") |
| test3(); |
| } |
| </script> |
| </head> |
| <body onload="startTheTest()"> |
| </body> |
| </html> |