Thu, 22 Jan 2015 13:21:57 +0100
Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6
1 /* Any copyright is dedicated to the Public Domain.
2 http://creativecommons.org/publicdomain/zero/1.0/ */
4 Components.utils.import("resource://gre/modules/Promise.jsm");
6 let WORKER_SOURCE_URI = "chrome://test_lz4/content/worker_lz4.js";
7 do_load_manifest("data/chrome.manifest");
9 function run_test() {
10 run_next_test();
11 }
14 add_task(function() {
15 let worker = new ChromeWorker(WORKER_SOURCE_URI);
16 let deferred = Promise.defer();
17 worker.onmessage = function(event) {
18 let data = event.data;
19 switch (data.kind) {
20 case "do_check_true":
21 try {
22 do_check_true(data.args[0]);
23 } catch (ex) {
24 // Ignore errors
25 }
26 return;
27 case "do_test_complete":
28 deferred.resolve();
29 worker.terminate();
30 break;
31 case "do_print":
32 do_print(data.args[0]);
33 }
34 };
35 worker.onerror = function(event) {
36 let error = new Error(event.message, event.filename, event.lineno);
37 worker.terminate();
38 deferred.reject(error);
39 };
40 worker.postMessage("START");
41 return deferred.promise;
42 });