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 |