OLD | NEW |
1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
2 <html> | 2 <html> |
3 <head> | 3 <head> |
4 <script src="../../resources/testharness.js"></script> | 4 <script src="../../resources/testharness.js"></script> |
5 <script src="../../resources/testharnessreport.js"></script> | 5 <script src="../../resources/testharnessreport.js"></script> |
| 6 <script src="../../resources/gc.js"></script> |
6 </head> | 7 </head> |
7 <body> | 8 <body> |
8 <iframe id="subframe" src="about:blank"></iframe> | 9 <iframe id="subframe" src="about:blank"></iframe> |
9 <script> | 10 <script> |
10 | 11 |
11 var testNavigatorOnLoad = async_test("Accessing a navigator object that just got
removed does not crash.") | 12 var testNavigatorOnLoad = async_test("Accessing a navigator object that just got
removed does not crash.") |
12 var testNavigatorLater = async_test("Accessing a navigator object that got remov
ed some time before does not crash.") | 13 var testNavigatorLater = async_test("Accessing a navigator object that got remov
ed some time before does not crash.") |
13 | 14 |
14 // Reference to the removed navigator object. | 15 // Reference to the removed navigator object. |
15 var oldNav = null; | 16 var oldNav = null; |
16 | 17 |
17 function gc() { | |
18 if (window.GCController) { | |
19 GCController.collect(); | |
20 } else { | |
21 for (var i = 0; i < 10000; i++) { | |
22 var s = new String("abc"); | |
23 } | |
24 } | |
25 } | |
26 | |
27 function test() { | 18 function test() { |
28 // Keep a reference of the navigator and remove the frame. | 19 // Keep a reference of the navigator and remove the frame. |
29 oldNav = window.frames[0].navigator; | 20 oldNav = window.frames[0].navigator; |
30 var frame = document.getElementById("subframe"); | 21 var frame = document.getElementById("subframe"); |
31 frame.parentNode.removeChild(frame); | 22 frame.parentNode.removeChild(frame); |
32 | 23 |
33 if (window.GCController) | 24 if (window.GCController) |
34 window.GCController.collect(); | 25 window.GCController.collect(); |
35 | 26 |
36 // Check once immediately. | 27 // Check once immediately. |
(...skipping 29 matching lines...) Expand all Loading... |
66 } | 57 } |
67 } | 58 } |
68 } | 59 } |
69 | 60 |
70 window.addEventListener('load', test); | 61 window.addEventListener('load', test); |
71 | 62 |
72 </script> | 63 </script> |
73 | 64 |
74 </body> | 65 </body> |
75 </html> | 66 </html> |
OLD | NEW |