diff -r 000000000000 -r 6474c204b198 dom/workers/test/bug1020226_worker.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dom/workers/test/bug1020226_worker.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,11 @@ +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 + // AddFeature() 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); +});