@samitouri / QOS-React-2 / commits / 4d28eca97e

Land enableNonInterruptingNormalPri (#20859)

Ricky committed Feb 22, 2021 at 12:56 UTC 4d28eca97e469ae6515fa369ed380e3c82fb7acc
13 files changed +14 -49
packages/react-reconciler/src/ReactFiberLane.new.js
+2 -6
@@ -36,10 +36,7 @@ export type Lane = number;
36 export type LaneMap<T> = Array<T>;
37
38 import invariant from 'shared/invariant';
39 -import {
40 - enableCache,
41 - enableNonInterruptingNormalPri,
42 -} from 'shared/ReactFeatureFlags';
39 +import {enableCache} from 'shared/ReactFeatureFlags';
40
41 import {
42 ImmediatePriority as ImmediateSchedulerPriority,
@@ -348,8 +345,7 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes {
345 // Default priority updates should not interrupt transition updates. The
346 // only difference between default updates and transition updates is that
347 // default updates do not support refresh transitions.
351 - (enableNonInterruptingNormalPri &&
352 - nextLanePriority === DefaultLanePriority &&
348 + (nextLanePriority === DefaultLanePriority &&
349 wipLanePriority === TransitionPriority)
350 ) {
351 // Keep working on the existing in-progress tree. Do not interrupt.
packages/react-reconciler/src/ReactFiberLane.old.js
+2 -6
@@ -36,10 +36,7 @@ export type Lane = number;
36 export type LaneMap<T> = Array<T>;
37
38 import invariant from 'shared/invariant';
39 -import {
40 - enableCache,
41 - enableNonInterruptingNormalPri,
42 -} from 'shared/ReactFeatureFlags';
39 +import {enableCache} from 'shared/ReactFeatureFlags';
40
41 import {
42 ImmediatePriority as ImmediateSchedulerPriority,
@@ -348,8 +345,7 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes {
345 // Default priority updates should not interrupt transition updates. The
346 // only difference between default updates and transition updates is that
347 // default updates do not support refresh transitions.
351 - (enableNonInterruptingNormalPri &&
352 - nextLanePriority === DefaultLanePriority &&
348 + (nextLanePriority === DefaultLanePriority &&
349 wipLanePriority === TransitionPriority)
350 ) {
351 // Keep working on the existing in-progress tree. Do not interrupt.
packages/react-reconciler/src/__tests__/ReactTransition-test.js
+10 -26
@@ -946,33 +946,17 @@ describe('ReactTransition', () => {
946 updateNormalPri();
947 });
948
949 - if (gate(flags => flags.enableNonInterruptingNormalPri)) {
950 - expect(Scheduler).toHaveYielded([
951 - // Finish transition update.
952 - 'Normal pri: 0',
953 - 'Commit',
954 -
955 - // Normal pri update.
956 - 'Transition pri: 1',
957 - 'Normal pri: 1',
958 - 'Commit',
959 - ]);
960 -
961 - expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
962 - } else {
963 - expect(Scheduler).toHaveYielded([
964 - // Interrupt! Render normal pri update.
965 - 'Transition pri: 0',
966 - 'Normal pri: 1',
967 - 'Commit',
949 + expect(Scheduler).toHaveYielded([
950 + // Finish transition update.
951 + 'Normal pri: 0',
952 + 'Commit',
953
969 - // Restart transition update.
970 - 'Transition pri: 1',
971 - 'Normal pri: 1',
972 - 'Commit',
973 - ]);
954 + // Normal pri update.
955 + 'Transition pri: 1',
956 + 'Normal pri: 1',
957 + 'Commit',
958 + ]);
959
975 - expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
976 - }
960 + expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
961 });
962 });
packages/shared/ReactFeatureFlags.js
-2
@@ -147,8 +147,6 @@ export const enableRecursiveCommitTraversal = false;
147
148 export const disableSchedulerTimeoutInWorkLoop = false;
149
150 -export const enableNonInterruptingNormalPri = false;
151 -
150 export const enableDiscreteEventMicroTasks = false;
151
152 export const enableNativeEventPriorityInference = false;
packages/shared/forks/ReactFeatureFlags.native-fb.js
-1
@@ -57,7 +57,6 @@ export const enableUseRefAccessWarning = false;
57
58 export const enableRecursiveCommitTraversal = false;
59 export const disableSchedulerTimeoutInWorkLoop = false;
60 -export const enableNonInterruptingNormalPri = false;
60 export const enableDiscreteEventMicroTasks = false;
61 export const enableNativeEventPriorityInference = false;
62
packages/shared/forks/ReactFeatureFlags.native-oss.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.test-renderer.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.test-renderer.native.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.testing.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.testing.www.js
-1
@@ -56,7 +56,6 @@ export const enableUseRefAccessWarning = false;
56
57 export const enableRecursiveCommitTraversal = false;
58 export const disableSchedulerTimeoutInWorkLoop = false;
59 -export const enableNonInterruptingNormalPri = false;
59 export const enableDiscreteEventMicroTasks = false;
60 export const enableNativeEventPriorityInference = false;
61
packages/shared/forks/ReactFeatureFlags.www-dynamic.js
-1
@@ -55,6 +55,5 @@ export const enableUseRefAccessWarning = __VARIANT__;
55
56 export const enableProfilerNestedUpdateScheduledHook = __VARIANT__;
57 export const disableSchedulerTimeoutInWorkLoop = __VARIANT__;
58 -export const enableNonInterruptingNormalPri = __VARIANT__;
58 export const enableDiscreteEventMicroTasks = __VARIANT__;
59 export const enableNativeEventPriorityInference = __VARIANT__;
packages/shared/forks/ReactFeatureFlags.www.js
-1
@@ -31,7 +31,6 @@ export const {
31 enableUseRefAccessWarning,
32 disableNativeComponentFrames,
33 disableSchedulerTimeoutInWorkLoop,
34 - enableNonInterruptingNormalPri,
34 enableDiscreteEventMicroTasks,
35 enableNativeEventPriorityInference,
36 } = dynamicFeatureFlags;