diff --git a/lib/internal/abort_controller.js b/lib/internal/abort_controller.js index 2fba1e3fdbe81b..ce05571c067398 100644 --- a/lib/internal/abort_controller.js +++ b/lib/internal/abort_controller.js @@ -10,9 +10,9 @@ const { PromiseResolve, SafeFinalizationRegistry, SafeSet, + SafeWeakRef, Symbol, SymbolToStringTag, - WeakRef, } = primordials; const { @@ -220,7 +220,7 @@ class AbortSignal extends EventTarget { signal[kTimeout] = true; clearTimeoutRegistry.register( signal, - setWeakAbortSignalTimeout(new WeakRef(signal), delay)); + setWeakAbortSignalTimeout(new SafeWeakRef(signal), delay)); return signal; } @@ -238,7 +238,7 @@ class AbortSignal extends EventTarget { if (!signalsArray.length) { return resultSignal; } - const resultSignalWeakRef = new WeakRef(resultSignal); + const resultSignalWeakRef = new SafeWeakRef(resultSignal); resultSignal[kSourceSignals] = new SafeSet(); for (let i = 0; i < signalsArray.length; i++) { const signal = signalsArray[i]; @@ -248,7 +248,7 @@ class AbortSignal extends EventTarget { } signal[kDependantSignals] ??= new SafeSet(); if (!signal[kComposite]) { - resultSignal[kSourceSignals].add(new WeakRef(signal)); + resultSignal[kSourceSignals].add(new SafeWeakRef(signal)); signal[kDependantSignals].add(resultSignalWeakRef); } else if (!signal[kSourceSignals]) { continue;