summaryrefslogtreecommitdiff
path: root/extensions/web/03_abort_signal.js
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/web/03_abort_signal.js')
-rw-r--r--extensions/web/03_abort_signal.js14
1 files changed, 14 insertions, 0 deletions
diff --git a/extensions/web/03_abort_signal.js b/extensions/web/03_abort_signal.js
index e2648e778..5d7e10bb2 100644
--- a/extensions/web/03_abort_signal.js
+++ b/extensions/web/03_abort_signal.js
@@ -118,11 +118,25 @@
AbortSignal,
);
+ function newSignal() {
+ return new AbortSignal(illegalConstructorKey);
+ }
+
+ function follow(followingSignal, parentSignal) {
+ if (parentSignal.aborted) {
+ followingSignal[signalAbort]();
+ } else {
+ parentSignal[add](() => followingSignal[signalAbort]());
+ }
+ }
+
window.AbortSignal = AbortSignal;
window.AbortController = AbortController;
window.__bootstrap.abortSignal = {
add,
signalAbort,
remove,
+ follow,
+ newSignal,
};
})(this);