@@ -40,6 +40,7 @@ const {
40
40
} = require ( 'internal/util' ) ;
41
41
42
42
const kScheduler = Symbol ( 'kScheduler' ) ;
43
+ let kResistStopPropagation ;
43
44
44
45
function cancelListenerHandler ( clear , reject , signal ) {
45
46
if ( ! this . _destroyed ) {
@@ -81,7 +82,8 @@ function setTimeout(after, value, options = kEmptyObject) {
81
82
if ( signal ) {
82
83
oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
83
84
timeout , clearTimeout , reject , signal ) ;
84
- signal . addEventListener ( 'abort' , oncancel ) ;
85
+ kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
86
+ signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
85
87
}
86
88
} ) ;
87
89
return oncancel !== undefined ?
@@ -123,7 +125,8 @@ function setImmediate(value, options = kEmptyObject) {
123
125
oncancel = FunctionPrototypeBind ( cancelListenerHandler ,
124
126
immediate , clearImmediate , reject ,
125
127
signal ) ;
126
- signal . addEventListener ( 'abort' , oncancel ) ;
128
+ kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
129
+ signal . addEventListener ( 'abort' , oncancel , { __proto__ : null , [ kResistStopPropagation ] : true } ) ;
127
130
}
128
131
} ) ;
129
132
return oncancel !== undefined ?
@@ -164,7 +167,8 @@ async function* setInterval(after, value, options = kEmptyObject) {
164
167
callback = undefined ;
165
168
}
166
169
} ;
167
- signal . addEventListener ( 'abort' , onCancel , { once : true } ) ;
170
+ kResistStopPropagation ??= require ( 'internal/event_target' ) . kResistStopPropagation ;
171
+ signal . addEventListener ( 'abort' , onCancel , { __proto__ : null , once : true , [ kResistStopPropagation ] : true } ) ;
168
172
}
169
173
170
174
while ( ! signal ?. aborted ) {
0 commit comments