<body onload="test()"> <p>Running test...</p> <textarea id=t rows=20>textarea</textarea> <script> if (window.layoutTestController) { layoutTestController.dumpAsText(); layoutTestController.waitUntilDone(); } function gc() { if (window.GCController) return GCController.collect(); for (var i = 0; i < 10000; i++) { // > force garbage collection (FF requires about 9K allocations before a collect) var s = new String("abc"); } } function test() { var elem = document.getElementById("t"); var nodes = document.getElementById("t").getAttributeNode('rows').childNodes; nodes[0]; // Prime the child node cache. document.body.removeChild(document.getElementById("t")); elem.getAttributeNode('rows').removeChild(nodes[0]); setTimeout(function() { gc(); gc(); gc(); try { nodes[0].textContent } catch (ex) { } document.getElementsByTagName("p")[0].innerHTML = "PASS" if (window.layoutTestController) layoutTestController.notifyDone(); }, 0); } </script>