event-upload-progress-crossorigin.any.js (1023B)
1 // META: title=XMLHttpRequest: upload progress event for cross-origin requests 2 // META: script=/common/get-host-info.sub.js 3 4 const remote = get_host_info().HTTP_REMOTE_ORIGIN + "/xhr/resources/corsenabled.py", 5 redirect = "resources/redirect.py?code=307&location=" + remote; 6 7 [remote, redirect].forEach(url => { 8 async_test(test => { 9 const client = new XMLHttpRequest(); 10 client.upload.onprogress = test.step_func_done() 11 client.onload = test.unreached_func() 12 client.open("POST", url) 13 client.send("On time: " + url) 14 }, "Upload events registered on time (" + url + ")"); 15 }); 16 17 [remote, redirect].forEach(url => { 18 async_test(test => { 19 const client = new XMLHttpRequest(); 20 client.onload = test.step_func_done(); 21 client.open("POST", url); 22 client.send("Too late: " + url); 23 client.upload.onloadstart = test.unreached_func(); // registered too late 24 client.upload.onprogress = test.unreached_func(); // registered too late 25 }, "Upload events registered too late (" + url + ")"); 26 });