summaryrefslogtreecommitdiffstats
path: root/dom/url/tests/test_bug883784.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'dom/url/tests/test_bug883784.jsm')
-rw-r--r--dom/url/tests/test_bug883784.jsm38
1 files changed, 38 insertions, 0 deletions
diff --git a/dom/url/tests/test_bug883784.jsm b/dom/url/tests/test_bug883784.jsm
new file mode 100644
index 0000000000..1790007680
--- /dev/null
+++ b/dom/url/tests/test_bug883784.jsm
@@ -0,0 +1,38 @@
+var EXPORTED_SYMBOLS = ["Test"];
+
+var Test = {
+ start(ok, is, finish) {
+ let worker = new ChromeWorker("jsm_url_worker.js");
+ worker.onmessage = function (event) {
+ if (event.data.type == "status") {
+ ok(event.data.status, event.data.msg);
+ } else if (event.data.type == "url") {
+ var xhr = new XMLHttpRequest();
+ xhr.open("GET", event.data.url, false);
+ xhr.onreadystatechange = function () {
+ if (xhr.readyState == 4) {
+ ok(true, "Blob readable!");
+ URL.revokeObjectURL(event.data.url);
+ finish();
+ }
+ };
+ xhr.onerror = function () {
+ ok(false, "Blob unreadable, should not happen!");
+ URL.revokeObjectURL(event.data.url);
+ finish();
+ };
+ xhr.send();
+ }
+ };
+
+ var self = this;
+ worker.onerror = function (event) {
+ is(event.target, worker);
+ ok(false, "Worker had an error: " + event.data);
+ self.worker.terminate();
+ finish();
+ };
+
+ worker.postMessage(0);
+ },
+};