@@ -124,6 +124,7 @@ type QueuedReplayableEvent = {|
124
124
topLevelType : DOMTopLevelEventType ,
125
125
eventSystemFlags : EventSystemFlags ,
126
126
nativeEvent : AnyNativeEvent ,
127
+ container : Document | Element | Node ,
127
128
| } ;
128
129
129
130
let hasScheduledReplayAttempt = false ;
@@ -252,12 +253,14 @@ function createQueuedReplayableEvent(
252
253
topLevelType : DOMTopLevelEventType ,
253
254
eventSystemFlags : EventSystemFlags ,
254
255
nativeEvent : AnyNativeEvent ,
256
+ container : Document | Element | Node ,
255
257
) : QueuedReplayableEvent {
256
258
return {
257
259
blockedOn ,
258
260
topLevelType ,
259
261
eventSystemFlags : eventSystemFlags | IS_REPLAYED ,
260
262
nativeEvent ,
263
+ container ,
261
264
} ;
262
265
}
263
266
@@ -266,12 +269,14 @@ export function queueDiscreteEvent(
266
269
topLevelType : DOMTopLevelEventType ,
267
270
eventSystemFlags : EventSystemFlags ,
268
271
nativeEvent : AnyNativeEvent ,
272
+ container : Document | Element | Node ,
269
273
) : void {
270
274
const queuedEvent = createQueuedReplayableEvent (
271
275
blockedOn ,
272
276
topLevelType ,
273
277
eventSystemFlags ,
274
278
nativeEvent ,
279
+ container ,
275
280
) ;
276
281
queuedDiscreteEvents . push ( queuedEvent ) ;
277
282
if ( enableSelectiveHydration ) {
@@ -339,6 +344,7 @@ function accumulateOrCreateContinuousQueuedReplayableEvent(
339
344
topLevelType : DOMTopLevelEventType ,
340
345
eventSystemFlags : EventSystemFlags ,
341
346
nativeEvent : AnyNativeEvent ,
347
+ container : Document | Element | Node ,
342
348
) : QueuedReplayableEvent {
343
349
if (
344
350
existingQueuedEvent === null ||
@@ -349,6 +355,7 @@ function accumulateOrCreateContinuousQueuedReplayableEvent(
349
355
topLevelType ,
350
356
eventSystemFlags ,
351
357
nativeEvent ,
358
+ container ,
352
359
) ;
353
360
if ( blockedOn !== null ) {
354
361
let fiber = getInstanceFromNode ( blockedOn ) ;
@@ -372,6 +379,7 @@ export function queueIfContinuousEvent(
372
379
topLevelType : DOMTopLevelEventType ,
373
380
eventSystemFlags : EventSystemFlags ,
374
381
nativeEvent : AnyNativeEvent ,
382
+ container : Document | Element | Node ,
375
383
) : boolean {
376
384
// These set relatedTarget to null because the replayed event will be treated as if we
377
385
// moved from outside the window (no target) onto the target once it hydrates.
@@ -385,6 +393,7 @@ export function queueIfContinuousEvent(
385
393
topLevelType ,
386
394
eventSystemFlags ,
387
395
focusEvent ,
396
+ container ,
388
397
) ;
389
398
return true ;
390
399
}
@@ -396,6 +405,7 @@ export function queueIfContinuousEvent(
396
405
topLevelType ,
397
406
eventSystemFlags ,
398
407
dragEvent ,
408
+ container ,
399
409
) ;
400
410
return true ;
401
411
}
@@ -407,6 +417,7 @@ export function queueIfContinuousEvent(
407
417
topLevelType ,
408
418
eventSystemFlags ,
409
419
mouseEvent ,
420
+ container ,
410
421
) ;
411
422
return true ;
412
423
}
@@ -421,6 +432,7 @@ export function queueIfContinuousEvent(
421
432
topLevelType ,
422
433
eventSystemFlags ,
423
434
pointerEvent ,
435
+ container ,
424
436
) ,
425
437
) ;
426
438
return true ;
@@ -436,6 +448,7 @@ export function queueIfContinuousEvent(
436
448
topLevelType ,
437
449
eventSystemFlags ,
438
450
pointerEvent ,
451
+ container ,
439
452
) ,
440
453
) ;
441
454
return true ;
@@ -512,6 +525,7 @@ function attemptReplayContinuousQueuedEvent(
512
525
queuedEvent . topLevelType ,
513
526
queuedEvent . eventSystemFlags ,
514
527
queuedEvent . nativeEvent ,
528
+ queuedEvent . container ,
515
529
) ;
516
530
if ( nextBlockedOn !== null ) {
517
531
// We're still blocked. Try again later.
@@ -554,6 +568,7 @@ function replayUnblockedEvents() {
554
568
nextDiscreteEvent . topLevelType ,
555
569
nextDiscreteEvent . eventSystemFlags ,
556
570
nextDiscreteEvent . nativeEvent ,
571
+ nextDiscreteEvent . container ,
557
572
) ;
558
573
if ( nextBlockedOn !== null ) {
559
574
// We're still blocked. Try again later.
0 commit comments