forked from mirrors/gecko-dev
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D35951 --HG-- extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
44 lines
948 B
JavaScript
44 lines
948 B
JavaScript
/**
|
|
* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/
|
|
*/
|
|
|
|
function errorHandler() {
|
|
postMessage({ type: "error" });
|
|
}
|
|
|
|
onmessage = function(event) {
|
|
if (event.data.errors) {
|
|
try {
|
|
// This is an error:
|
|
postMessage({ type: "ignore", value: b.aaa });
|
|
} catch (e) {
|
|
errorHandler();
|
|
}
|
|
} else {
|
|
var a = {};
|
|
// This is a warning:
|
|
postMessage({ type: "ignore", value: a.foo });
|
|
}
|
|
|
|
if (event.data.loop != 0) {
|
|
var worker = new Worker("errorwarning_worker.js");
|
|
worker.onerror = errorHandler;
|
|
worker.postMessage({
|
|
loop: event.data.loop - 1,
|
|
errors: event.data.errors,
|
|
});
|
|
|
|
worker.onmessage = function(e) {
|
|
postMessage(e.data);
|
|
};
|
|
} else {
|
|
postMessage({ type: "finish" });
|
|
}
|
|
};
|
|
|
|
onerror = errorHandler;
|
|
onerror = onerror;
|
|
if (!onerror || onerror != onerror) {
|
|
throw "onerror wasn't set properly";
|
|
}
|