blob: 88beedb6c6545c9d90c9f16e896afd7989906b7a [file] [log] [blame]
<html>
<body>
<script src="/js-test-resources/js-test.js"></script>
<script>
description("Makes sure that upload events are still fired after GC.");
jsTestIsAsync = true;
function progressHandler(evt)
{
testPassed("onprogress event fired on XMLHttpRequestUpload: " + evt + " [Loaded: " + evt.loaded + " Total: " + evt.total + "]");
}
function loadstartHandler(evt)
{
testPassed("loadstart event fired on XMLHttpRequestUpload: " + evt);
}
function loadHandler(evt)
{
testPassed("load event fired on XMLHttpRequestUpload: " + evt);
finishJSTest();
}
let xhr = new XMLHttpRequest;
xhr.upload.onprogress = progressHandler;
xhr.upload.onloadstart = loadstartHandler;
xhr.upload.onload = loadHandler;
xhr.open("POST", "resources/post-echo.cgi", true);
xhr.send("data");
xhr = null;
gc();
setInterval(() => { gc(); }, 1);
</script>
</body>
</html>