michael@0: /** michael@0: * Any copyright is dedicated to the Public Domain. michael@0: * http://creativecommons.org/publicdomain/zero/1.0/ michael@0: */ michael@0: onmessage = function(event) { michael@0: let chromeURL = event.data.replace("test_chromeWorkerJSM.xul", michael@0: "WorkerTest_badworker.js"); michael@0: michael@0: let mochitestURL = event.data.replace("test_chromeWorkerJSM.xul", michael@0: "WorkerTest_badworker.js") michael@0: .replace("chrome://mochitests/content/chrome", michael@0: "http://mochi.test:8888/tests"); michael@0: michael@0: // We should be able to XHR to anything we want, including a chrome URL. michael@0: let xhr = new XMLHttpRequest(); michael@0: xhr.open("GET", mochitestURL, false); michael@0: xhr.send(); michael@0: michael@0: if (!xhr.responseText) { michael@0: throw "Can't load script file via XHR!"; michael@0: } michael@0: michael@0: // We shouldn't be able to make a ChromeWorker to a non-chrome URL. michael@0: let worker = new ChromeWorker(mochitestURL); michael@0: worker.onmessage = function(event) { michael@0: throw event.data; michael@0: }; michael@0: worker.onerror = function(event) { michael@0: event.preventDefault(); michael@0: michael@0: // And we shouldn't be able to make a regular Worker to a non-chrome URL. michael@0: worker = new Worker(mochitestURL); michael@0: worker.onmessage = function(event) { michael@0: throw event.data; michael@0: }; michael@0: worker.onerror = function(event) { michael@0: event.preventDefault(); michael@0: postMessage("Done"); michael@0: }; michael@0: worker.postMessage("Hi"); michael@0: }; michael@0: worker.postMessage("Hi"); michael@0: };