| OLD | NEW |
| 1 <html> | 1 <html> |
| 2 <head> | 2 <head> |
| 3 <script> | 3 <script> |
| 4 if (window.testRunner) { | 4 if (window.testRunner) { |
| 5 testRunner.dumpAsText(); | 5 testRunner.dumpAsText(); |
| 6 testRunner.waitUntilDone(); | 6 testRunner.waitUntilDone(); |
| 7 } | 7 } |
| 8 | 8 |
| 9 function gc() | 9 function gc() |
| 10 { | 10 { |
| 11 if (window.GCController) | 11 if (window.GCController) |
| 12 return GCController.collect(); | 12 return GCController.collect(); |
| 13 | 13 |
| 14 for (var i = 0; i < 10000; i++) { // force garbage collection (F
F requires about 9K allocations before a collect). | 14 for (var i = 0; i < 10000; i++) { // force garbage collection (F
F requires about 9K allocations before a collect). |
| 15 var s = new String("abc"); | 15 var s = new String("abc"); |
| 16 } | 16 } |
| 17 } | 17 } |
| 18 | 18 |
| 19 function runTest() | 19 function runTest() |
| 20 { | 20 { |
| 21 iteratorRoot = document.createElement(); | 21 iteratorRoot = document.createElement('div'); |
| 22 element = iteratorRoot.appendChild(document.createElement()); | 22 element = iteratorRoot.appendChild(document.createElement('div')
); |
| 23 element.appendChild(document.createElement()); | 23 element.appendChild(document.createElement('div')); |
| 24 | 24 |
| 25 iterator = document.createNodeIterator(iteratorRoot, -1); | 25 iterator = document.createNodeIterator(iteratorRoot, -1); |
| 26 iterator.nextNode(); iterator.nextNode(); iterator.nextNode(); | 26 iterator.nextNode(); iterator.nextNode(); iterator.nextNode(); |
| 27 iterator.previousNode(); | 27 iterator.previousNode(); |
| 28 | 28 |
| 29 iteratorRoot.removeChild(element); | 29 iteratorRoot.removeChild(element); |
| 30 | 30 |
| 31 otherDocument = document.implementation.createHTMLDocument(); | 31 otherDocument = document.implementation.createHTMLDocument(); |
| 32 otherDocument.body.appendChild(iteratorRoot); | 32 otherDocument.body.appendChild(iteratorRoot); |
| 33 | 33 |
| 34 delete iterator; | 34 delete iterator; |
| 35 gc(); | 35 gc(); |
| 36 div = document.body.appendChild(document.createElement('div')); | 36 div = document.body.appendChild(document.createElement('div')); |
| 37 document.body.removeChild(div); | 37 document.body.removeChild(div); |
| 38 gc(); | 38 gc(); |
| 39 | 39 |
| 40 if (window.testRunner) | 40 if (window.testRunner) |
| 41 testRunner.notifyDone(); | 41 testRunner.notifyDone(); |
| 42 } | 42 } |
| 43 </script> | 43 </script> |
| 44 </head> | 44 </head> |
| 45 <body onload="runTest()"> | 45 <body onload="runTest()"> |
| 46 Test passes if it does not crash. | 46 Test passes if it does not crash. |
| 47 </body> | 47 </body> |
| 48 </html> | 48 </html> |
| OLD | NEW |