| OLD | NEW |
| 1 <!DOCTYPE html> | 1 <!DOCTYPE html> |
| 2 <script src="../../resources/js-test.js"></script> | 2 <script src="../../resources/js-test.js"></script> |
| 3 <script> | 3 <script> |
| 4 | 4 |
| 5 description('Tests that we do not hold on to any nodes'); | 5 description('Tests that we do not hold on to any nodes'); |
| 6 | 6 |
| 7 gc(); | 7 jsTestIsAsync = true; |
| 8 | 8 |
| 9 function numberOfLiveNodes() { | 9 function numberOfLiveNodes() { |
| 10 return window.internals && window.internals.numberOfLiveNodes && window.inte
rnals.numberOfLiveNodes(); | 10 return window.internals && window.internals.numberOfLiveNodes && window.inte
rnals.numberOfLiveNodes(); |
| 11 } | 11 } |
| 12 | 12 |
| 13 var beforeCount = numberOfLiveNodes(); | 13 var afterCount; |
| 14 var beforeCount; |
| 14 | 15 |
| 15 var f = document.createElement('form'); | 16 asyncGC(function() { |
| 16 var i = f.appendChild(document.createElement('input')); | 17 beforeCount = numberOfLiveNodes(); |
| 17 i.setAttribute('onclick', ''); | 18 var f = document.createElement('form'); |
| 18 f.removeChild(i); | 19 var i = f.appendChild(document.createElement('input')); |
| 19 f = null; | 20 i.setAttribute('onclick', ''); |
| 20 i = null; | 21 f.removeChild(i); |
| 21 gc(); | 22 f = null; |
| 23 i = null; |
| 24 asyncGC(function() { |
| 25 afterCount = numberOfLiveNodes(); |
| 26 shouldBe('afterCount - beforeCount', '0'); |
| 27 finishJSTest(); |
| 28 }); |
| 29 }); |
| 22 | 30 |
| 23 var afterCount = numberOfLiveNodes(); | |
| 24 | |
| 25 shouldBe('afterCount - beforeCount', '0'); | |
| 26 | 31 |
| 27 </script> | 32 </script> |
| OLD | NEW |