| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <script> | 2 <script> |
| 3 if (window.testRunner) { | 3 if (window.testRunner) { |
| 4 testRunner.setCanOpenWindows(); | 4 testRunner.setCanOpenWindows(); |
| 5 testRunner.dumpAsText(); | 5 testRunner.dumpAsText(); |
| 6 testRunner.waitUntilDone(); | 6 testRunner.waitUntilDone(); |
| 7 testRunner.globalFlag = false; | |
| 8 } | 7 } |
| 9 | 8 |
| 10 var w = window.open("http://127.0.0.1:8000/misc/resources/content-iframe.html"); | 9 function runTest() { |
| 11 w.opener = null; | |
| 12 | |
| 13 function wait_to_start() { | |
| 14 var child_window_opened; | |
| 15 | |
| 16 // polling testRunner.globalFlag or w.document | |
| 17 if (window.testRunner) { | |
| 18 child_window_opened = testRunner.globalFlag; | |
| 19 } else { | |
| 20 // polling w.document is not very reliable cross browsers, | |
| 21 // it works in chrome for manual testsing. | |
| 22 // We might want to change it to using postMessage when it | |
| 23 // is supported. | |
| 24 child_window_opened = !w.document; | |
| 25 } | |
| 26 | |
| 27 if (!child_window_opened) { | |
| 28 setTimeout(wait_to_start, 30); | |
| 29 return; | |
| 30 } | |
| 31 | |
| 32 var e = document.getElementById('console'); | 10 var e = document.getElementById('console'); |
| 33 e.innerHTML = w.opener == null ? 'PASS' : 'FAIL'; | 11 e.innerHTML = w.opener == null ? 'PASS' : 'FAIL'; |
| 34 | 12 |
| 35 w.close(); | 13 w.close(); |
| 36 | 14 |
| 37 if (window.testRunner) | 15 if (window.testRunner) |
| 38 testRunner.notifyDone(); | 16 testRunner.notifyDone(); |
| 39 } | 17 } |
| 40 | 18 |
| 41 window.onload = wait_to_start; | 19 var w = window.open('http://127.0.0.1:8000/misc/resources/content-iframe.html'); |
| 42 | 20 w.opener = null; |
| 21 w.onload = runTest; |
| 43 </script> | 22 </script> |
| 44 <body> | 23 <body> |
| 45 This tests that following code works in Chrome: | 24 This tests that following code works in Chrome: |
| 46 <pre> | 25 <pre> |
| 47 var w = window.open(...); | 26 var w = window.open(...); |
| 48 w.opener = null; | 27 w.opener = null; |
| 49 </pre> | 28 </pre> |
| 50 After new page finishes loading, its opener should stay as null. | 29 After new page finishes loading, its opener should stay as null. |
| 51 | 30 |
| 52 <p> | 31 <p> |
| 53 <div id="console">Running ...<div> | 32 <div id="console">Running ...<div> |
| 54 </body> | 33 </body> |
| 55 </html> | 34 </html> |
| OLD | NEW |