99 needsStateRestore ,
1010 restoreStateIfNeeded ,
1111} from './ReactDOMControlledComponent' ;
12- import { enableDiscreteEventFlushingChange } from 'shared/ReactFeatureFlags' ;
1312
1413// Used as a way to call batchedUpdates when we don't have a reference to
1514// the renderer. Such as when we're dispatching events or if third party
@@ -75,6 +74,7 @@ export function batchedEventUpdates(fn, a, b) {
7574 }
7675}
7776
77+ // TODO: Replace with flushSync
7878export function discreteUpdates ( fn , a , b , c , d ) {
7979 const prevIsInsideEventHandler = isInsideEventHandler ;
8080 isInsideEventHandler = true ;
@@ -88,32 +88,10 @@ export function discreteUpdates(fn, a, b, c, d) {
8888 }
8989}
9090
91- let lastFlushedEventTimeStamp = 0 ;
91+ // TODO: Replace with flushSync
9292export function flushDiscreteUpdatesIfNeeded ( timeStamp : number ) {
93- if ( enableDiscreteEventFlushingChange ) {
94- // event.timeStamp isn't overly reliable due to inconsistencies in
95- // how different browsers have historically provided the time stamp.
96- // Some browsers provide high-resolution time stamps for all events,
97- // some provide low-resolution time stamps for all events. FF < 52
98- // even mixes both time stamps together. Some browsers even report
99- // negative time stamps or time stamps that are 0 (iOS9) in some cases.
100- // Given we are only comparing two time stamps with equality (!==),
101- // we are safe from the resolution differences. If the time stamp is 0
102- // we bail-out of preventing the flush, which can affect semantics,
103- // such as if an earlier flush removes or adds event listeners that
104- // are fired in the subsequent flush. However, this is the same
105- // behaviour as we had before this change, so the risks are low.
106- if (
107- ! isInsideEventHandler &&
108- ( timeStamp === 0 || lastFlushedEventTimeStamp !== timeStamp )
109- ) {
110- lastFlushedEventTimeStamp = timeStamp ;
111- flushDiscreteUpdatesImpl ( ) ;
112- }
113- } else {
114- if ( ! isInsideEventHandler ) {
115- flushDiscreteUpdatesImpl ( ) ;
116- }
93+ if ( ! isInsideEventHandler ) {
94+ flushDiscreteUpdatesImpl ( ) ;
11795 }
11896}
11997
0 commit comments