42 lines
936 B
HTML
42 lines
936 B
HTML
<html>
|
|
<script>
|
|
function stateChange() {
|
|
document.write(this.foo + '<br>');
|
|
if (this.readyState == 4) {
|
|
if (window.testRunner)
|
|
testRunner.notifyDone();
|
|
}
|
|
}
|
|
|
|
function collectGarbage() {
|
|
if (window.GCController) {
|
|
window.GCController.collect();
|
|
} else {
|
|
for (var i = 0; i < 50000; i++)
|
|
new Object();
|
|
}
|
|
}
|
|
|
|
function runTest() {
|
|
document.write("Tests that garbage collection doesn't drop the XMLHttpRequest JS wrapper until the send command is done. You should see 'bar' four times below.<br>");
|
|
|
|
if (window.testRunner) {
|
|
testRunner.dumpAsText();
|
|
testRunner.waitUntilDone();
|
|
}
|
|
|
|
var xhr = new XMLHttpRequest();
|
|
xhr.foo = 'bar';
|
|
xhr.onreadystatechange = stateChange;
|
|
xhr.open("GET", "xmlhttprequest-gc.html", true);
|
|
xhr.send(null);
|
|
|
|
xhr = null;
|
|
collectGarbage();
|
|
}
|
|
|
|
</script>
|
|
<body onload='runTest()'>
|
|
</body>
|
|
</html>
|