mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-09 21:00:42 +02:00
--HG-- rename : toolkit/components/workerlz4/lz4.cpp => toolkit/components/lz4/lz4.cpp rename : toolkit/components/workerlz4/lz4.js => toolkit/components/lz4/lz4.js rename : toolkit/components/workerlz4/lz4_internal.js => toolkit/components/lz4/lz4_internal.js rename : toolkit/components/workerlz4/moz.build => toolkit/components/lz4/moz.build rename : toolkit/components/workerlz4/tests/xpcshell/data/chrome.manifest => toolkit/components/lz4/tests/xpcshell/data/chrome.manifest rename : toolkit/components/workerlz4/tests/xpcshell/data/compression.lz => toolkit/components/lz4/tests/xpcshell/data/compression.lz rename : toolkit/components/workerlz4/tests/xpcshell/data/worker_lz4.js => toolkit/components/lz4/tests/xpcshell/data/worker_lz4.js rename : toolkit/components/workerlz4/tests/xpcshell/test_lz4.js => toolkit/components/lz4/tests/xpcshell/test_lz4.js rename : toolkit/components/workerlz4/tests/xpcshell/xpcshell.ini => toolkit/components/lz4/tests/xpcshell/xpcshell.ini
43 lines
1.1 KiB
JavaScript
43 lines
1.1 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
Components.utils.import("resource://gre/modules/Promise.jsm");
|
|
|
|
var WORKER_SOURCE_URI = "chrome://test_lz4/content/worker_lz4.js";
|
|
do_load_manifest("data/chrome.manifest");
|
|
|
|
function run_test() {
|
|
run_next_test();
|
|
}
|
|
|
|
|
|
add_task(function() {
|
|
let worker = new ChromeWorker(WORKER_SOURCE_URI);
|
|
let deferred = Promise.defer();
|
|
worker.onmessage = function(event) {
|
|
let data = event.data;
|
|
switch (data.kind) {
|
|
case "do_check_true":
|
|
try {
|
|
do_check_true(data.args[0]);
|
|
} catch (ex) {
|
|
// Ignore errors
|
|
}
|
|
return;
|
|
case "do_test_complete":
|
|
deferred.resolve();
|
|
worker.terminate();
|
|
break;
|
|
case "do_print":
|
|
do_print(data.args[0]);
|
|
}
|
|
};
|
|
worker.onerror = function(event) {
|
|
let error = new Error(event.message, event.filename, event.lineno);
|
|
worker.terminate();
|
|
deferred.reject(error);
|
|
};
|
|
worker.postMessage("START");
|
|
return deferred.promise;
|
|
});
|
|
|