Home | History | Annotate | Download | only in Attr
      1 <body onload="test()">
      2 <p>Running test...</p>
      3 <textarea id=t rows=20>textarea</textarea>
      4 <script>
      5 if (window.layoutTestController) {
      6     layoutTestController.dumpAsText();
      7     layoutTestController.waitUntilDone();
      8 }
      9 
     10 function gc()
     11 {
     12     if (window.GCController)
     13         return GCController.collect();
     14 
     15     for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires about 9K allocations before a collect)
     16         var s = new String("abc");
     17     }
     18 }
     19 
     20 function test()
     21 {
     22     var elem = document.getElementById("t");
     23     var nodes = document.getElementById("t").getAttributeNode('rows').childNodes;
     24     nodes[0]; // Prime the child node cache.
     25     document.body.removeChild(document.getElementById("t"));
     26     elem.getAttributeNode('rows').removeChild(nodes[0]);
     27     setTimeout(function() {
     28         gc();
     29         gc();
     30         gc();
     31         try { nodes[0].textContent } catch (ex) { }
     32 
     33         document.getElementsByTagName("p")[0].innerHTML = "PASS"
     34         if (window.layoutTestController)
     35             layoutTestController.notifyDone();
     36     }, 0);
     37 }
     38 </script>
     39