gecko-dev/dom/xhr/tests/xhr_worker.js
Andrea Marchesini c7264cb3ac Bug 1269162 - part 3 - Move XHR code into dom/xhr, r=smaug
--HG--
rename : dom/workers/XMLHttpRequestUploadWorker.cpp => dom/xhr/XMLHttpRequestUploadWorker.cpp
rename : dom/workers/XMLHttpRequestUploadWorker.h => dom/xhr/XMLHttpRequestUploadWorker.h
rename : dom/workers/XMLHttpRequestWorker.cpp => dom/xhr/XMLHttpRequestWorker.cpp
rename : dom/workers/XMLHttpRequestWorker.h => dom/xhr/XMLHttpRequestWorker.h
rename : dom/base/nsIXMLHttpRequest.idl => dom/xhr/nsIXMLHttpRequest.idl
rename : dom/base/nsXMLHttpRequest.cpp => dom/xhr/nsXMLHttpRequest.cpp
rename : dom/base/nsXMLHttpRequest.h => dom/xhr/nsXMLHttpRequest.h
rename : dom/base/test/echo.sjs => dom/xhr/tests/echo.sjs
rename : dom/base/test/file_XHRDocURI.html => dom/xhr/tests/file_XHRDocURI.html
rename : dom/base/test/file_XHRDocURI.html^headers^ => dom/xhr/tests/file_XHRDocURI.html^headers^
rename : dom/base/test/file_XHRDocURI.sjs => dom/xhr/tests/file_XHRDocURI.sjs
rename : dom/base/test/file_XHRDocURI.text => dom/xhr/tests/file_XHRDocURI.text
rename : dom/base/test/file_XHRDocURI.text^headers^ => dom/xhr/tests/file_XHRDocURI.text^headers^
rename : dom/base/test/file_XHRDocURI.xml => dom/xhr/tests/file_XHRDocURI.xml
rename : dom/base/test/file_XHRDocURI.xml^headers^ => dom/xhr/tests/file_XHRDocURI.xml^headers^
rename : dom/base/test/file_XHRResponseURL.js => dom/xhr/tests/file_XHRResponseURL.js
rename : dom/base/test/file_XHRResponseURL.sjs => dom/xhr/tests/file_XHRResponseURL.sjs
rename : dom/base/test/file_XHRResponseURL.text => dom/xhr/tests/file_XHRResponseURL.text
rename : dom/base/test/file_XHRResponseURL.text^headers^ => dom/xhr/tests/file_XHRResponseURL.text^headers^
rename : dom/base/test/file_XHRResponseURL_nocors.text => dom/xhr/tests/file_XHRResponseURL_nocors.text
rename : dom/base/test/file_XHRSendData.sjs => dom/xhr/tests/file_XHRSendData.sjs
rename : dom/base/test/file_XHRSendData_doc.xml => dom/xhr/tests/file_XHRSendData_doc.xml
rename : dom/base/test/file_XHRSendData_doc.xml^headers^ => dom/xhr/tests/file_XHRSendData_doc.xml^headers^
rename : dom/base/test/file_XHR_anon.sjs => dom/xhr/tests/file_XHR_anon.sjs
rename : dom/base/test/file_XHR_binary1.bin => dom/xhr/tests/file_XHR_binary1.bin
rename : dom/base/test/file_XHR_binary1.bin^headers^ => dom/xhr/tests/file_XHR_binary1.bin^headers^
rename : dom/base/test/file_XHR_binary2.bin => dom/xhr/tests/file_XHR_binary2.bin
rename : dom/base/test/file_XHR_fail1.txt => dom/xhr/tests/file_XHR_fail1.txt
rename : dom/base/test/file_XHR_fail1.txt^headers^ => dom/xhr/tests/file_XHR_fail1.txt^headers^
rename : dom/base/test/file_XHR_fail1b.txt => dom/xhr/tests/file_XHR_fail1b.txt
rename : dom/base/test/file_XHR_header.sjs => dom/xhr/tests/file_XHR_header.sjs
rename : dom/base/test/file_XHR_pass1.xml => dom/xhr/tests/file_XHR_pass1.xml
rename : dom/base/test/file_XHR_pass2.txt => dom/xhr/tests/file_XHR_pass2.txt
rename : dom/base/test/file_XHR_pass3.txt => dom/xhr/tests/file_XHR_pass3.txt
rename : dom/base/test/file_XHR_pass3.txt^headers^ => dom/xhr/tests/file_XHR_pass3.txt^headers^
rename : dom/base/test/file_XHR_system_redirect.html => dom/xhr/tests/file_XHR_system_redirect.html
rename : dom/base/test/file_XHR_system_redirect.html^headers^ => dom/xhr/tests/file_XHR_system_redirect.html^headers^
rename : dom/base/test/file_XHR_timeout.sjs => dom/xhr/tests/file_XHR_timeout.sjs
rename : dom/base/test/file_html_in_xhr.html => dom/xhr/tests/file_html_in_xhr.html
rename : dom/base/test/file_html_in_xhr.sjs => dom/xhr/tests/file_html_in_xhr.sjs
rename : dom/base/test/file_html_in_xhr2.html => dom/xhr/tests/file_html_in_xhr2.html
rename : dom/base/test/file_html_in_xhr3.html => dom/xhr/tests/file_html_in_xhr3.html
rename : dom/base/test/progressserver.sjs => dom/xhr/tests/progressserver.sjs
rename : dom/workers/test/relativeLoad_import.js => dom/xhr/tests/relativeLoad_import.js
rename : dom/workers/test/relativeLoad_worker.js => dom/xhr/tests/relativeLoad_worker.js
rename : dom/workers/test/relativeLoad_worker2.js => dom/xhr/tests/relativeLoad_worker2.js
rename : dom/base/test/responseIdentical.sjs => dom/xhr/tests/responseIdentical.sjs
rename : dom/workers/test/subdir/relativeLoad_sub_import.js => dom/xhr/tests/subdir/relativeLoad_sub_import.js
rename : dom/workers/test/subdir/relativeLoad_sub_worker.js => dom/xhr/tests/subdir/relativeLoad_sub_worker.js
rename : dom/workers/test/subdir/relativeLoad_sub_worker2.js => dom/xhr/tests/subdir/relativeLoad_sub_worker2.js
rename : dom/workers/test/terminateSyncXHR_worker.js => dom/xhr/tests/terminateSyncXHR_worker.js
rename : dom/base/test/test_XHR.html => dom/xhr/tests/test_XHR.html
rename : dom/base/test/test_XHRDocURI.html => dom/xhr/tests/test_XHRDocURI.html
rename : dom/base/test/test_XHRResponseURL.html => dom/xhr/tests/test_XHRResponseURL.html
rename : dom/base/test/test_XHRSendData.html => dom/xhr/tests/test_XHRSendData.html
rename : dom/base/test/test_XHR_anon.html => dom/xhr/tests/test_XHR_anon.html
rename : dom/base/test/test_XHR_header.html => dom/xhr/tests/test_XHR_header.html
rename : dom/base/test/test_XHR_onuploadprogress.html => dom/xhr/tests/test_XHR_onuploadprogress.html
rename : dom/base/test/test_XHR_parameters.html => dom/xhr/tests/test_XHR_parameters.html
rename : dom/base/test/test_XHR_system.html => dom/xhr/tests/test_XHR_system.html
rename : dom/base/test/test_XHR_timeout.html => dom/xhr/tests/test_XHR_timeout.html
rename : dom/base/test/test_XHR_timeout.js => dom/xhr/tests/test_XHR_timeout.js
rename : dom/base/test/test_html_in_xhr.html => dom/xhr/tests/test_html_in_xhr.html
rename : dom/workers/test/test_relativeLoad.html => dom/xhr/tests/test_relativeLoad.html
rename : dom/base/test/test_sync_xhr_timer.xhtml => dom/xhr/tests/test_sync_xhr_timer.xhtml
rename : dom/workers/test/test_terminateSyncXHR.html => dom/xhr/tests/test_worker_terminateSyncXHR.html
rename : dom/workers/test/test_xhr.html => dom/xhr/tests/test_worker_xhr.html
rename : dom/workers/test/test_xhr2.html => dom/xhr/tests/test_worker_xhr2.html
rename : dom/workers/test/test_xhrAbort.html => dom/xhr/tests/test_worker_xhrAbort.html
rename : dom/workers/test/test_xhr_3rdparty.html => dom/xhr/tests/test_worker_xhr_3rdparty.html
rename : dom/workers/test/test_xhr_cors_redirect.html => dom/xhr/tests/test_worker_xhr_cors_redirect.html
rename : dom/workers/test/test_xhr_headers.html => dom/xhr/tests/test_worker_xhr_headers.html
rename : dom/workers/test/test_xhr_implicit_cancel.html => dom/xhr/tests/test_worker_xhr_implicit_cancel.html
rename : dom/workers/test/test_xhr_parameters.html => dom/xhr/tests/test_worker_xhr_parameters.html
rename : dom/workers/test/test_xhr_parameters.js => dom/xhr/tests/test_worker_xhr_parameters.js
rename : dom/workers/test/test_xhr_responseURL.html => dom/xhr/tests/test_worker_xhr_responseURL.html
rename : dom/workers/test/test_xhr_system.html => dom/xhr/tests/test_worker_xhr_system.html
rename : dom/workers/test/test_xhr_system.js => dom/xhr/tests/test_worker_xhr_system.js
rename : dom/workers/test/test_xhr_timeout.html => dom/xhr/tests/test_worker_xhr_timeout.html
rename : dom/base/test/test_xhr_abort_after_load.html => dom/xhr/tests/test_xhr_abort_after_load.html
rename : dom/base/test/test_xhr_forbidden_headers.html => dom/xhr/tests/test_xhr_forbidden_headers.html
rename : dom/base/test/test_xhr_overridemimetype_throws_on_invalid_state.html => dom/xhr/tests/test_xhr_overridemimetype_throws_on_invalid_state.html
rename : dom/base/test/test_xhr_progressevents.html => dom/xhr/tests/test_xhr_progressevents.html
rename : dom/base/test/test_xhr_send.html => dom/xhr/tests/test_xhr_send.html
rename : dom/base/test/test_xhr_send_readystate.html => dom/xhr/tests/test_xhr_send_readystate.html
rename : dom/base/test/test_xhr_withCredentials.html => dom/xhr/tests/test_xhr_withCredentials.html
rename : dom/workers/test/file_getcookie.sjs => dom/xhr/tests/worker_file_getcookie.sjs
rename : dom/workers/test/terminateSyncXHR_frame.html => dom/xhr/tests/worker_terminateSyncXHR_frame.html
rename : dom/workers/test/testXHR.txt => dom/xhr/tests/worker_testXHR.txt
rename : dom/workers/test/xhr_cors_redirect.js => dom/xhr/tests/worker_xhr_cors_redirect.js
rename : dom/workers/test/xhr_cors_redirect.sjs => dom/xhr/tests/worker_xhr_cors_redirect.sjs
rename : dom/workers/test/xhr_headers_server.sjs => dom/xhr/tests/worker_xhr_headers_server.sjs
rename : dom/workers/test/xhr_headers_worker.js => dom/xhr/tests/worker_xhr_headers_worker.js
rename : dom/workers/test/xhr2_worker.js => dom/xhr/tests/xhr2_worker.js
rename : dom/workers/test/xhrAbort_worker.js => dom/xhr/tests/xhrAbort_worker.js
rename : dom/workers/test/xhr_implicit_cancel_worker.js => dom/xhr/tests/xhr_implicit_cancel_worker.js
rename : dom/workers/test/xhr_worker.js => dom/xhr/tests/xhr_worker.js
2016-06-27 19:13:40 +02:00

85 lines
2.2 KiB
JavaScript

/**
* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
var xhr = new XMLHttpRequest();
function onload(event) {
if (event.target != xhr) {
throw "onload event.target != xhr";
}
if (event.target.status != 200) {
var message = { type: "error",
error: event.target.status };
postMessage(message);
}
var message = { type: "load",
data: xhr.responseText };
postMessage(message);
}
xhr.onload = onload;
xhr.addEventListener("load", onload, false);
xhr.removeEventListener("load", onload, false);
if (!xhr.onload) {
var message = { type: "error",
error: "Lost message listener!" };
postMessage(message);
}
xhr.onerror = function(event) {
if (event.target != xhr) {
throw "onerror event.target != xhr";
}
var message = { type: "error",
error: event.target.status };
postMessage(message);
};
xhr.onerror = xhr.onerror;
if (!xhr.onerror || xhr.onerror != xhr.onerror) {
throw "onerror wasn't set properly";
}
function onprogress(event) {
if (event.target != xhr) {
throw "onprogress event.target != xhr";
}
var message = { type: "progress",
current: event.loaded,
total: event.total };
postMessage(message);
}
xhr.addEventListener("progress", onprogress, false);
xhr.addEventListener("foopety", function(event) {}, false);
xhr.removeEventListener("doopety", function(event) {}, false);
xhr.onloadend = function(event) {
var message = { type: "loadend" };
postMessage(message);
}
var upload = xhr.upload;
upload.onprogress = function(event) { };
upload.addEventListener("foo", function(event) { }, false);
upload.removeEventListener("foo", function(event) { }, false);
upload.addEventListener("load", function(event) { }, false);
upload.removeEventListener("foo", function(event) { }, false);
upload.onload = function(event) {
var message = { type: "upload.load" };
postMessage(message);
}
onmessage = function(event) {
if (xhr.DONE != 4 || XMLHttpRequest.DONE != 4) {
throw "xhr constants not correct!";
}
if (xhr.readystate > xhr.UNSENT) {
throw "XHR already running!";
}
xhr.open("POST", event.data);
xhr.send("Data to send");
}