File tree Expand file tree Collapse file tree 2 files changed +11
-10
lines changed Expand file tree Collapse file tree 2 files changed +11
-10
lines changed Original file line number Diff line number Diff line change 99} = primordials ;
1010
1111const {
12+ defineEventHandler,
1213 EventTarget,
1314 Event,
1415 kTrustEvent
@@ -52,21 +53,22 @@ function abortSignal(signal) {
5253 const event = new Event ( 'abort' , {
5354 [ kTrustEvent ] : true
5455 } ) ;
55- if ( typeof signal . onabort === 'function' ) {
56- signal . onabort ( event ) ;
57- }
5856 signal . dispatchEvent ( event ) ;
5957}
6058
59+ // TODO(joyeecheung): V8 snapshot does not support instance member
60+ // initializers for now:
61+ // https://bugs.chromium.org/p/v8/issues/detail?id=10704
62+ const kSignal = Symbol ( 'signal' ) ;
6163class AbortController {
62- #signal = new AbortSignal ( ) ;
63-
6464 constructor ( ) {
65+ this [ kSignal ] = new AbortSignal ( ) ;
6566 emitExperimentalWarning ( 'AbortController' ) ;
67+ defineEventHandler ( this [ kSignal ] , 'abort' ) ;
6668 }
6769
68- get signal ( ) { return this . #signal ; }
69- abort ( ) { abortSignal ( this . #signal ) ; }
70+ get signal ( ) { return this [ kSignal ] ; }
71+ abort ( ) { abortSignal ( this [ kSignal ] ) ; }
7072
7173 [ customInspectSymbol ] ( depth , options ) {
7274 return customInspect ( this , {
Original file line number Diff line number Diff line change @@ -333,14 +333,13 @@ class EventTarget {
333333 }
334334 return event ;
335335 } ;
336+ if ( event !== undefined )
337+ event [ kTarget ] = this ;
336338
337339 const root = this [ kEvents ] . get ( type ) ;
338340 if ( root === undefined || root . next === undefined )
339341 return true ;
340342
341- if ( event !== undefined )
342- event [ kTarget ] = this ;
343-
344343 let handler = root . next ;
345344 let next ;
346345
You can’t perform that action at this time.
0 commit comments