diff options
Diffstat (limited to 'dom/xhr/tests/test_worker_xhr_system.js')
-rw-r--r-- | dom/xhr/tests/test_worker_xhr_system.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/dom/xhr/tests/test_worker_xhr_system.js b/dom/xhr/tests/test_worker_xhr_system.js new file mode 100644 index 000000000..5ad63225c --- /dev/null +++ b/dom/xhr/tests/test_worker_xhr_system.js @@ -0,0 +1,30 @@ +function ok(what, msg) { + postMessage({ event: msg, test: 'ok', a: what }); +} + +function is(a, b, msg) { + postMessage({ event: msg, test: 'is', a: a, b: b }); +} + +self.onmessage = function onmessage(event) { + + // An XHR with system privileges will be able to do cross-site calls. + + const TEST_URL = "http://example.com/tests/dom/xhr/tests/test_XHR_system.html"; + is(location.hostname, "mochi.test", "hostname should be mochi.test"); + + var xhr = new XMLHttpRequest({mozSystem: true}); + is(xhr.mozSystem, true, ".mozSystem == true"); + xhr.open("GET", TEST_URL); + xhr.onload = function onload() { + is(xhr.status, 200); + ok(xhr.responseText != null); + ok(xhr.responseText.length); + postMessage({test: "finish"}); + }; + xhr.onerror = function onerror() { + ok(false, "Got an error event!"); + postMessage({test: "finish"}); + } + xhr.send(); +}; |