@@ -12,6 +12,7 @@ import type {Container, SuspenseInstance} from '../client/ReactDOMHostConfig';
12
12
import type { DOMTopLevelEventType } from 'legacy-events/TopLevelEventTypes' ;
13
13
import type { EventSystemFlags } from 'legacy-events/EventSystemFlags' ;
14
14
import type { FiberRoot } from 'react-reconciler/src/ReactFiberRoot' ;
15
+ import type { DOMContainer } from '../client/ReactDOM' ;
15
16
16
17
import {
17
18
enableDeprecatedFlareAPI ,
@@ -117,7 +118,7 @@ import {
117
118
TOP_BLUR ,
118
119
} from './DOMTopLevelEventTypes' ;
119
120
import { IS_REPLAYED } from 'legacy-events/EventSystemFlags' ;
120
- import { listenToTopLevelEvent } from './DOMLegacyEventPluginSystem' ;
121
+ import { legacyListenToTopLevelEvent } from './DOMLegacyEventPluginSystem' ;
121
122
122
123
type QueuedReplayableEvent = { |
123
124
blockedOn : null | Container | SuspenseInstance ,
@@ -211,12 +212,12 @@ export function isReplayableDiscreteEvent(
211
212
return discreteReplayableEvents . indexOf ( eventType ) > - 1 ;
212
213
}
213
214
214
- function trapReplayableEvent (
215
+ function trapReplayableEventForDocument (
215
216
topLevelType : DOMTopLevelEventType ,
216
217
document : Document ,
217
218
listenerMap : Map < DOMTopLevelEventType | string , null | ( any => void ) > ,
218
219
) {
219
- listenToTopLevelEvent ( topLevelType , document , listenerMap ) ;
220
+ legacyListenToTopLevelEvent ( topLevelType , document , listenerMap ) ;
220
221
if ( enableDeprecatedFlareAPI ) {
221
222
// Trap events for the responder system.
222
223
const topLevelTypeString = unsafeCastDOMTopLevelTypeToString ( topLevelType ) ;
@@ -236,24 +237,27 @@ function trapReplayableEvent(
236
237
}
237
238
}
238
239
239
- export function eagerlyTrapReplayableEvents ( document : Document ) {
240
- const listenerMap = getListenerMapForElement ( document ) ;
240
+ export function eagerlyTrapReplayableEvents (
241
+ container : DOMContainer ,
242
+ document : Document ,
243
+ ) {
244
+ const listenerMapForDoc = getListenerMapForElement ( document ) ;
241
245
// Discrete
242
246
discreteReplayableEvents . forEach ( topLevelType => {
243
- trapReplayableEvent ( topLevelType , document , listenerMap ) ;
247
+ trapReplayableEventForDocument ( topLevelType , document , listenerMapForDoc ) ;
244
248
} ) ;
245
249
// Continuous
246
250
continuousReplayableEvents . forEach ( topLevelType => {
247
- trapReplayableEvent ( topLevelType , document , listenerMap ) ;
251
+ trapReplayableEventForDocument ( topLevelType , document , listenerMapForDoc ) ;
248
252
} ) ;
249
253
}
250
254
251
255
function createQueuedReplayableEvent (
252
256
blockedOn : null | Container | SuspenseInstance ,
253
257
topLevelType : DOMTopLevelEventType ,
254
258
eventSystemFlags : EventSystemFlags ,
255
- nativeEvent : AnyNativeEvent ,
256
259
container : Document | Element | Node ,
260
+ nativeEvent : AnyNativeEvent ,
257
261
) : QueuedReplayableEvent {
258
262
return {
259
263
blockedOn ,
@@ -268,15 +272,15 @@ export function queueDiscreteEvent(
268
272
blockedOn : null | Container | SuspenseInstance ,
269
273
topLevelType : DOMTopLevelEventType ,
270
274
eventSystemFlags : EventSystemFlags ,
271
- nativeEvent : AnyNativeEvent ,
272
275
container : Document | Element | Node ,
276
+ nativeEvent : AnyNativeEvent ,
273
277
) : void {
274
278
const queuedEvent = createQueuedReplayableEvent (
275
279
blockedOn ,
276
280
topLevelType ,
277
281
eventSystemFlags ,
278
- nativeEvent ,
279
282
container ,
283
+ nativeEvent ,
280
284
) ;
281
285
queuedDiscreteEvents . push ( queuedEvent ) ;
282
286
if ( enableSelectiveHydration ) {
@@ -343,8 +347,8 @@ function accumulateOrCreateContinuousQueuedReplayableEvent(
343
347
blockedOn : null | Container | SuspenseInstance ,
344
348
topLevelType : DOMTopLevelEventType ,
345
349
eventSystemFlags : EventSystemFlags ,
346
- nativeEvent : AnyNativeEvent ,
347
350
container : Document | Element | Node ,
351
+ nativeEvent : AnyNativeEvent ,
348
352
) : QueuedReplayableEvent {
349
353
if (
350
354
existingQueuedEvent === null ||
@@ -354,8 +358,8 @@ function accumulateOrCreateContinuousQueuedReplayableEvent(
354
358
blockedOn ,
355
359
topLevelType ,
356
360
eventSystemFlags ,
357
- nativeEvent ,
358
361
container ,
362
+ nativeEvent ,
359
363
) ;
360
364
if ( blockedOn !== null ) {
361
365
let fiber = getInstanceFromNode ( blockedOn ) ;
@@ -378,8 +382,8 @@ export function queueIfContinuousEvent(
378
382
blockedOn : null | Container | SuspenseInstance ,
379
383
topLevelType : DOMTopLevelEventType ,
380
384
eventSystemFlags : EventSystemFlags ,
381
- nativeEvent : AnyNativeEvent ,
382
385
container : Document | Element | Node ,
386
+ nativeEvent : AnyNativeEvent ,
383
387
) : boolean {
384
388
// These set relatedTarget to null because the replayed event will be treated as if we
385
389
// moved from outside the window (no target) onto the target once it hydrates.
@@ -392,8 +396,8 @@ export function queueIfContinuousEvent(
392
396
blockedOn ,
393
397
topLevelType ,
394
398
eventSystemFlags ,
395
- focusEvent ,
396
399
container ,
400
+ focusEvent ,
397
401
) ;
398
402
return true ;
399
403
}
@@ -404,8 +408,8 @@ export function queueIfContinuousEvent(
404
408
blockedOn ,
405
409
topLevelType ,
406
410
eventSystemFlags ,
407
- dragEvent ,
408
411
container ,
412
+ dragEvent ,
409
413
) ;
410
414
return true ;
411
415
}
@@ -416,8 +420,8 @@ export function queueIfContinuousEvent(
416
420
blockedOn ,
417
421
topLevelType ,
418
422
eventSystemFlags ,
419
- mouseEvent ,
420
423
container ,
424
+ mouseEvent ,
421
425
) ;
422
426
return true ;
423
427
}
@@ -431,8 +435,8 @@ export function queueIfContinuousEvent(
431
435
blockedOn ,
432
436
topLevelType ,
433
437
eventSystemFlags ,
434
- pointerEvent ,
435
438
container ,
439
+ pointerEvent ,
436
440
) ,
437
441
) ;
438
442
return true ;
@@ -447,8 +451,8 @@ export function queueIfContinuousEvent(
447
451
blockedOn ,
448
452
topLevelType ,
449
453
eventSystemFlags ,
450
- pointerEvent ,
451
454
container ,
455
+ pointerEvent ,
452
456
) ,
453
457
) ;
454
458
return true ;
@@ -524,8 +528,8 @@ function attemptReplayContinuousQueuedEvent(
524
528
let nextBlockedOn = attemptToDispatchEvent (
525
529
queuedEvent . topLevelType ,
526
530
queuedEvent . eventSystemFlags ,
527
- queuedEvent . nativeEvent ,
528
531
queuedEvent . container ,
532
+ queuedEvent . nativeEvent ,
529
533
) ;
530
534
if ( nextBlockedOn !== null ) {
531
535
// We're still blocked. Try again later.
@@ -567,8 +571,8 @@ function replayUnblockedEvents() {
567
571
let nextBlockedOn = attemptToDispatchEvent (
568
572
nextDiscreteEvent . topLevelType ,
569
573
nextDiscreteEvent . eventSystemFlags ,
570
- nextDiscreteEvent . nativeEvent ,
571
574
nextDiscreteEvent . container ,
575
+ nextDiscreteEvent . nativeEvent ,
572
576
) ;
573
577
if ( nextBlockedOn !== null ) {
574
578
// We're still blocked. Try again later.
0 commit comments