51 lines
1.1 KiB
HTML
51 lines
1.1 KiB
HTML
<html>
|
|
<body onload="runTest()">
|
|
<script>
|
|
var count = 0;
|
|
if (window.testRunner)
|
|
{
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
function runTest()
|
|
{
|
|
try {
|
|
divBlock.addEventListener("DOMCharacterDataModified", eventListener, false);
|
|
pBlock.outerText = "text";
|
|
divBlock.innerHTML = "PASS, didn't crash.";
|
|
}
|
|
catch (exception) {
|
|
divBlock.innerHTML = "Threw an exception - " + exception;
|
|
}
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
|
|
function eventListener()
|
|
{
|
|
try {
|
|
var range = document.createRange();
|
|
range.setStart(divBlock, 0);
|
|
range.setEnd(divBlock, divBlock.childNodes.length - 1);
|
|
range.deleteContents();
|
|
gc();
|
|
} catch(e) { }
|
|
}
|
|
|
|
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("");
|
|
}
|
|
}
|
|
</script>
|
|
<div id="divBlock">
|
|
<br/>textnode1<p id="pBlock"></p>textnode2<br/>
|
|
</div>
|
|
</body>
|
|
</html>
|