summaryrefslogtreecommitdiffstats
path: root/dom/workers/test/bug1020226_worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'dom/workers/test/bug1020226_worker.js')
-rw-r--r--dom/workers/test/bug1020226_worker.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/dom/workers/test/bug1020226_worker.js b/dom/workers/test/bug1020226_worker.js
new file mode 100644
index 0000000000..c09abdd7de
--- /dev/null
+++ b/dom/workers/test/bug1020226_worker.js
@@ -0,0 +1,12 @@
+var p = new Promise(function (resolve, reject) {
+ // This causes a runnable to be queued.
+ reject(new Error());
+ postMessage("loaded");
+
+ // This prevents that runnable from running until the window calls terminate(),
+ // at which point the worker goes into the Canceling state and then an
+ // HoldWorker() is attempted, which fails, which used to result in
+ // multiple calls to the error reporter, one after the worker's context had
+ // been GCed.
+ while (true) {}
+});