summaryrefslogtreecommitdiff
path: root/runtime/js/11_workers.js
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/js/11_workers.js')
-rw-r--r--runtime/js/11_workers.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/runtime/js/11_workers.js b/runtime/js/11_workers.js
index 80e85a3a1..5b8d03e71 100644
--- a/runtime/js/11_workers.js
+++ b/runtime/js/11_workers.js
@@ -140,14 +140,16 @@
error: null,
});
- let handled = false;
-
this.dispatchEvent(event);
- if (event.defaultPrevented) {
- handled = true;
+ // Don't bubble error event to window for loader errors (`!e.fileName`).
+ // TODO(nayeemrmn): Currently these are never bubbled because worker
+ // error event fields aren't populated correctly and `e.fileName` is
+ // always empty.
+ if (e.fileName && !event.defaultPrevented) {
+ window.dispatchEvent(event);
}
- return handled;
+ return event.defaultPrevented;
}
#pollControl = async () => {
@@ -165,7 +167,7 @@
} /* falls through */
case 2: { // Error
if (!this.#handleError(data)) {
- throw new Error("Unhandled error event in child worker.");
+ throw new Error("Unhandled error in child worker.");
}
break;
}