Skip to content

Commit b5d463b

Browse files
committed
Change feature flag and gate test
1 parent d10b5db commit b5d463b

13 files changed

+42
-12
lines changed

packages/react-reconciler/src/ReactFiberLane.new.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import invariant from 'shared/invariant';
3939
import {
4040
enableCache,
4141
enableTransitionEntanglement,
42+
enableNonInterruptingNormalPri,
4243
} from 'shared/ReactFeatureFlags';
4344

4445
import {
@@ -331,7 +332,7 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes {
331332
// Default priority updates should not interrupt transition updates. The
332333
// only difference between default updates and transition updates is that
333334
// default updates do not support refresh transitions.
334-
(enableTransitionEntanglement &&
335+
(enableNonInterruptingNormalPri &&
335336
nextLanePriority === DefaultLanePriority &&
336337
wipLanePriority === TransitionPriority)
337338
) {

packages/react-reconciler/src/ReactFiberLane.old.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import invariant from 'shared/invariant';
3939
import {
4040
enableCache,
4141
enableTransitionEntanglement,
42+
enableNonInterruptingNormalPri,
4243
} from 'shared/ReactFeatureFlags';
4344

4445
import {
@@ -331,7 +332,7 @@ export function getNextLanes(root: FiberRoot, wipLanes: Lanes): Lanes {
331332
// Default priority updates should not interrupt transition updates. The
332333
// only difference between default updates and transition updates is that
333334
// default updates do not support refresh transitions.
334-
(enableTransitionEntanglement &&
335+
(enableNonInterruptingNormalPri &&
335336
nextLanePriority === DefaultLanePriority &&
336337
wipLanePriority === TransitionPriority)
337338
) {

packages/react-reconciler/src/__tests__/ReactTransition-test.js

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -964,16 +964,33 @@ describe('ReactTransition', () => {
964964
updateNormalPri();
965965
});
966966

967-
expect(Scheduler).toHaveYielded([
968-
// Finish transition update.
969-
'Normal pri: 0',
970-
'Commit',
967+
if (gate(flags => flags.enableNonInterruptingNormalPri)) {
968+
expect(Scheduler).toHaveYielded([
969+
// Finish transition update.
970+
'Normal pri: 0',
971+
'Commit',
971972

972-
// Normal pri update.
973-
'Transition pri: 1',
974-
'Normal pri: 1',
975-
'Commit',
976-
]);
977-
expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
973+
// Normal pri update.
974+
'Transition pri: 1',
975+
'Normal pri: 1',
976+
'Commit',
977+
]);
978+
979+
expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
980+
} else {
981+
expect(Scheduler).toHaveYielded([
982+
// Interrupt! Render normal pri update.
983+
'Transition pri: 0',
984+
'Normal pri: 1',
985+
'Commit',
986+
987+
// Restart transition update.
988+
'Transition pri: 1',
989+
'Normal pri: 1',
990+
'Commit',
991+
]);
992+
993+
expect(root).toMatchRenderedOutput('Transition pri: 1, Normal pri: 1');
994+
}
978995
});
979996
});

packages/shared/ReactFeatureFlags.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,4 +150,6 @@ export const disableSchedulerTimeoutInWorkLoop = false;
150150
// Experiment to simplify/improve how transitions are scheduled
151151
export const enableTransitionEntanglement = false;
152152

153+
export const enableNonInterruptingNormalPri = false;
154+
153155
export const enableDiscreteEventMicroTasks = false;

packages/shared/forks/ReactFeatureFlags.native-fb.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export const enableUseRefAccessWarning = false;
5858
export const enableRecursiveCommitTraversal = false;
5959
export const disableSchedulerTimeoutInWorkLoop = false;
6060
export const enableTransitionEntanglement = false;
61+
export const enableNonInterruptingNormalPri = false;
6162
export const enableDiscreteEventMicroTasks = false;
6263

6364
// Flow magic to verify the exports of this file match the original version.

packages/shared/forks/ReactFeatureFlags.native-oss.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const enableUseRefAccessWarning = false;
5757
export const enableRecursiveCommitTraversal = false;
5858
export const disableSchedulerTimeoutInWorkLoop = false;
5959
export const enableTransitionEntanglement = false;
60+
export const enableNonInterruptingNormalPri = false;
6061
export const enableDiscreteEventMicroTasks = false;
6162

6263
// Flow magic to verify the exports of this file match the original version.

packages/shared/forks/ReactFeatureFlags.test-renderer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const enableUseRefAccessWarning = false;
5757
export const enableRecursiveCommitTraversal = false;
5858
export const disableSchedulerTimeoutInWorkLoop = false;
5959
export const enableTransitionEntanglement = false;
60+
export const enableNonInterruptingNormalPri = false;
6061
export const enableDiscreteEventMicroTasks = false;
6162

6263
// Flow magic to verify the exports of this file match the original version.

packages/shared/forks/ReactFeatureFlags.test-renderer.native.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const enableUseRefAccessWarning = false;
5757
export const enableRecursiveCommitTraversal = false;
5858
export const disableSchedulerTimeoutInWorkLoop = false;
5959
export const enableTransitionEntanglement = false;
60+
export const enableNonInterruptingNormalPri = false;
6061
export const enableDiscreteEventMicroTasks = false;
6162

6263
// Flow magic to verify the exports of this file match the original version.

packages/shared/forks/ReactFeatureFlags.test-renderer.www.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const enableUseRefAccessWarning = false;
5757
export const enableRecursiveCommitTraversal = false;
5858
export const disableSchedulerTimeoutInWorkLoop = false;
5959
export const enableTransitionEntanglement = false;
60+
export const enableNonInterruptingNormalPri = false;
6061
export const enableDiscreteEventMicroTasks = false;
6162

6263
// Flow magic to verify the exports of this file match the original version.

packages/shared/forks/ReactFeatureFlags.testing.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ export const enableUseRefAccessWarning = false;
5757
export const enableRecursiveCommitTraversal = false;
5858
export const disableSchedulerTimeoutInWorkLoop = false;
5959
export const enableTransitionEntanglement = false;
60+
export const enableNonInterruptingNormalPri = false;
6061
export const enableDiscreteEventMicroTasks = false;
6162

6263
// Flow magic to verify the exports of this file match the original version.

0 commit comments

Comments
 (0)