OLD | NEW |
1 <html> | 1 <!DOCTYPE HTML> |
2 <body> | 2 <script src="../../../../resources/js-test.js"></script> |
3 This tests opens a new window, sets a timeout to close it, then sets a timeout t
o navigate it via window.location. | |
4 We pass if we don't crash when setting the location of the already closed window
. | |
5 <script> | 3 <script> |
| 4 description("Updating window.location after the window has been closed, without
crashing."); |
| 5 |
| 6 // This tests opens a new window, sets a timeout to close it, then |
| 7 // sets a timeout to navigate it via window.location. We pass if we |
| 8 // don't crash when setting the location of the already closed window, |
| 9 // or when shutting down just after. |
| 10 |
6 if (window.testRunner) { | 11 if (window.testRunner) { |
7 testRunner.dumpAsText(); | 12 testRunner.dumpAsText(); |
8 testRunner.setCanOpenWindows(); | 13 testRunner.setCanOpenWindows(); |
9 testRunner.waitUntilDone(); | 14 testRunner.waitUntilDone(); |
10 } | 15 } |
11 | 16 |
12 var w = window.open('resources/set-location-after-close-new-window.html'); | 17 var w = window.open('resources/set-location-after-close-new-window.html'); |
13 | 18 |
14 window.addEventListener("message", processMessage, false); | 19 window.addEventListener("message", processMessage, false); |
15 | 20 |
| 21 function finish() { |
| 22 // Clear out window and force a GC to finalize the Window |
| 23 // object and its wrapper. Verifies that the shutdown is |
| 24 // done in an orderly manner. |
| 25 w = null; |
| 26 gc(); |
| 27 if (window.testRunner) |
| 28 testRunner.notifyDone(); |
| 29 } |
| 30 |
16 function processMessage(event) { | 31 function processMessage(event) { |
17 if (event.data == "opened") | 32 if (event.data == "opened") |
18 w.close(); | 33 w.close(); |
19 else if (event.data == "closed") { | 34 else if (event.data == "closed") { |
20 w.location = ''; | 35 w.location = ''; |
21 if (window.testRunner) | 36 setInterval(finish, 0); |
22 testRunner.notifyDone(); | |
23 } | 37 } |
24 } | 38 } |
25 </script> | 39 </script> |
26 </body> | |
27 </html> | |
OLD | NEW |