зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1703953 - Part 3: Apply mozilla/use-isInstance to devtools r=julienw
Differential Revision: https://phabricator.services.mozilla.com/D142068
This commit is contained in:
Родитель
1409f37ca3
Коммит
3269d4c928
|
@ -486,3 +486,11 @@ declare interface XULElementWithCommandHandler {
|
|||
}
|
||||
|
||||
declare type nsIPrefBranch = MockedExports.nsIPrefBranch;
|
||||
|
||||
// chrome context-only DOM isInstance method
|
||||
// XXX: This hackishly extends Function because there is no way to extend DOM constructors.
|
||||
// Callers should manually narrow the type when needed.
|
||||
// See also https://github.com/microsoft/TypeScript-DOM-lib-generator/issues/222
|
||||
interface Function {
|
||||
isInstance(obj: any): boolean;
|
||||
}
|
||||
|
|
|
@ -139,7 +139,7 @@ async function getResultFromWorker(workerURL, initialMessageToWorker) {
|
|||
worker.onerror = errorEvent => {
|
||||
gActiveWorkers.delete(worker);
|
||||
worker.terminate();
|
||||
if (errorEvent instanceof ErrorEvent) {
|
||||
if (ErrorEvent.isInstance(errorEvent)) {
|
||||
const { message, filename, lineno } = errorEvent;
|
||||
const error = new Error(`${message} at ${filename}:${lineno}`);
|
||||
error.name = "WorkerError";
|
||||
|
@ -152,17 +152,10 @@ async function getResultFromWorker(workerURL, initialMessageToWorker) {
|
|||
// Handle errors from messages that cannot be deserialized. I'm not sure
|
||||
// how to get into such a state, but having this handler seems like a good
|
||||
// idea.
|
||||
worker.onmessageerror = errorEvent => {
|
||||
worker.onmessageerror = () => {
|
||||
gActiveWorkers.delete(worker);
|
||||
worker.terminate();
|
||||
if (errorEvent instanceof ErrorEvent) {
|
||||
const { message, filename, lineno } = errorEvent;
|
||||
const error = new Error(`${message} at ${filename}:${lineno}`);
|
||||
error.name = "WorkerMessageError";
|
||||
reject(error);
|
||||
} else {
|
||||
reject(new Error("Error in worker"));
|
||||
}
|
||||
};
|
||||
|
||||
worker.postMessage(initialMessageToWorker);
|
||||
|
|
Загрузка…
Ссылка в новой задаче