| <script> |
| function addFrames() { |
| var parent = document.createElement('iframe'); |
| parent.id = 'theframe'; |
| document.body.appendChild(parent); |
| |
| for (i = 0; i < 150; i++) { |
| var frame = document.createElement("iframe"); |
| frame.setAttribute("src", "data:text/plain," + i); |
| frame.style.display = 'none'; |
| parent.contentDocument.body.appendChild(frame); |
| } |
| } |
| |
| function runTest() { |
| if (window.layoutTestController) |
| layoutTestController.dumpAsText(); |
| |
| // Add 150 frames. |
| addFrames(); |
| |
| // Remove the parent frame |
| var parent = document.getElementById('theframe'); |
| parent.parentNode.removeChild(parent); |
| |
| // Add 150 frames again. |
| addFrames(); |
| var parent = document.getElementById('theframe'); |
| |
| if (parent.contentWindow.frames.length != 150) |
| return; |
| |
| document.getElementById('result').innerHTML = 'SUCCESS'; |
| } |
| </script> |
| <body onload="runTest()"> |
| <div>This tests that frames are properly deregistered with the page's counter when removed. If this test is successful, the text "SUCCESS" will be shown below.</div> |
| <div id="result">FAILURE</div> |
| </body> |