From b40b3b31a2447abfcae753b60eacd812329427d3 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Thu, 25 Apr 2024 04:43:00 -0700 Subject: [PATCH] delete feature flag enableCustomDrawOrderFabric (#44231) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/44231 changelog: [internal] The flag is not used and is statically set to false, let's delete it. Reviewed By: NickGerleman Differential Revision: D56473851 fbshipit-source-id: fe1076d20a765ffed2437f080764f2b5fe060bb6 --- .../featureflags/ReactNativeFeatureFlags.kt | 8 +--- .../ReactNativeFeatureFlagsCxxAccessor.kt | 12 +---- .../ReactNativeFeatureFlagsCxxInterop.kt | 4 +- .../ReactNativeFeatureFlagsDefaults.kt | 4 +- .../ReactNativeFeatureFlagsLocalAccessor.kt | 13 +----- .../ReactNativeFeatureFlagsProvider.kt | 4 +- .../react/views/view/ReactViewGroup.java | 7 +-- .../JReactNativeFeatureFlagsCxxInterop.cpp | 16 +------ .../JReactNativeFeatureFlagsCxxInterop.h | 5 +-- .../featureflags/ReactNativeFeatureFlags.cpp | 6 +-- .../featureflags/ReactNativeFeatureFlags.h | 7 +-- .../ReactNativeFeatureFlagsAccessor.cpp | 44 ++++++------------- .../ReactNativeFeatureFlagsAccessor.h | 6 +-- .../ReactNativeFeatureFlagsDefaults.h | 6 +-- .../ReactNativeFeatureFlagsProvider.h | 3 +- .../NativeReactNativeFeatureFlags.cpp | 7 +-- .../NativeReactNativeFeatureFlags.h | 4 +- .../ReactNativeFeatureFlags.config.js | 5 --- .../featureflags/ReactNativeFeatureFlags.js | 7 +-- .../specs/NativeReactNativeFeatureFlags.js | 3 +- 20 files changed, 33 insertions(+), 138 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt index b1b5529c8f5..1f88b1e32fc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4adf12f2d6a102944b0fa922aa1c3e84>> + * @generated SignedSource<<9eadcbd838fd9cda33485db003c23f15>> */ /** @@ -64,12 +64,6 @@ public object ReactNativeFeatureFlags { @JvmStatic public fun enableCleanTextInputYogaNode(): Boolean = accessor.enableCleanTextInputYogaNode() - /** - * When enabled, Fabric will use customDrawOrder in ReactViewGroup (similar to old architecture). - */ - @JvmStatic - public fun enableCustomDrawOrderFabric(): Boolean = accessor.enableCustomDrawOrderFabric() - /** * Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution). */ diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt index 374f1bb9308..a8a7e166cf4 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<24c24962f08ba7c52c296a5ac9abdbbc>> + * @generated SignedSource<<0a9209f5ccc8bb15801c53978f8e8543>> */ /** @@ -26,7 +26,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso private var destroyFabricSurfacesInReactInstanceManagerCache: Boolean? = null private var enableBackgroundExecutorCache: Boolean? = null private var enableCleanTextInputYogaNodeCache: Boolean? = null - private var enableCustomDrawOrderFabricCache: Boolean? = null private var enableMicrotasksCache: Boolean? = null private var enableSpannableBuildingUnificationCache: Boolean? = null private var enableSynchronousStateUpdatesCache: Boolean? = null @@ -94,15 +93,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso return cached } - override fun enableCustomDrawOrderFabric(): Boolean { - var cached = enableCustomDrawOrderFabricCache - if (cached == null) { - cached = ReactNativeFeatureFlagsCxxInterop.enableCustomDrawOrderFabric() - enableCustomDrawOrderFabricCache = cached - } - return cached - } - override fun enableMicrotasks(): Boolean { var cached = enableMicrotasksCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt index 216d5841d55..5f223b6e3dc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<0ceccc453595057ca96d9ae49c7f4637>> + * @generated SignedSource<<3c144393313cb8746474c172c9313a0f>> */ /** @@ -40,8 +40,6 @@ public object ReactNativeFeatureFlagsCxxInterop { @DoNotStrip @JvmStatic public external fun enableCleanTextInputYogaNode(): Boolean - @DoNotStrip @JvmStatic public external fun enableCustomDrawOrderFabric(): Boolean - @DoNotStrip @JvmStatic public external fun enableMicrotasks(): Boolean @DoNotStrip @JvmStatic public external fun enableSpannableBuildingUnification(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt index 1958abeff11..c19e393955e 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<29720cb2aa02ebdbe8e5efbe9e3a4b01>> + * @generated SignedSource<<201a7ad4db3884cb51719684c4279d58>> */ /** @@ -35,8 +35,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi override fun enableCleanTextInputYogaNode(): Boolean = false - override fun enableCustomDrawOrderFabric(): Boolean = false - override fun enableMicrotasks(): Boolean = false override fun enableSpannableBuildingUnification(): Boolean = false diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt index 950627b0733..008ce82efcf 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<977c8d88557a37c750ec59e67c94878c>> + * @generated SignedSource<> */ /** @@ -30,7 +30,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces private var destroyFabricSurfacesInReactInstanceManagerCache: Boolean? = null private var enableBackgroundExecutorCache: Boolean? = null private var enableCleanTextInputYogaNodeCache: Boolean? = null - private var enableCustomDrawOrderFabricCache: Boolean? = null private var enableMicrotasksCache: Boolean? = null private var enableSpannableBuildingUnificationCache: Boolean? = null private var enableSynchronousStateUpdatesCache: Boolean? = null @@ -104,16 +103,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces return cached } - override fun enableCustomDrawOrderFabric(): Boolean { - var cached = enableCustomDrawOrderFabricCache - if (cached == null) { - cached = currentProvider.enableCustomDrawOrderFabric() - accessedFeatureFlags.add("enableCustomDrawOrderFabric") - enableCustomDrawOrderFabricCache = cached - } - return cached - } - override fun enableMicrotasks(): Boolean { var cached = enableMicrotasksCache if (cached == null) { diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt index 7cc431f5ba1..1a7b400aa1c 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<5594e9b51122080fbb3cbda8f5367abf>> */ /** @@ -35,8 +35,6 @@ public interface ReactNativeFeatureFlagsProvider { @DoNotStrip public fun enableCleanTextInputYogaNode(): Boolean - @DoNotStrip public fun enableCustomDrawOrderFabric(): Boolean - @DoNotStrip public fun enableMicrotasks(): Boolean @DoNotStrip public fun enableSpannableBuildingUnification(): Boolean diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java index cd467967563..ee31c48404b 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java @@ -32,7 +32,6 @@ import com.facebook.react.bridge.ReactNoCrashSoftException; import com.facebook.react.bridge.ReactSoftExceptionLogger; import com.facebook.react.bridge.UiThreadUtil; import com.facebook.react.common.annotations.VisibleForTesting; -import com.facebook.react.internal.featureflags.ReactNativeFeatureFlags; import com.facebook.react.modules.i18nmanager.I18nUtil; import com.facebook.react.touch.OnInterceptTouchEventListener; import com.facebook.react.touch.ReactHitSlopView; @@ -510,11 +509,9 @@ public class ReactViewGroup extends ViewGroup if (getId() == NO_ID) { return false; } - if (ViewUtil.getUIManagerType(getId()) != UIManagerType.FABRIC) { - return false; - } - return !ReactNativeFeatureFlags.enableCustomDrawOrderFabric(); + // Custom draw order is disabled for Fabric. + return ViewUtil.getUIManagerType(getId()) == UIManagerType.FABRIC; } private void handleAddView(View view) { diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp index 91150b1b101..835746bb29a 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<42365eadf2648e4033ec6be2c387c019>> + * @generated SignedSource<<03c9714f0cdb99cbff20ba76b8deac87>> */ /** @@ -75,12 +75,6 @@ class ReactNativeFeatureFlagsProviderHolder return method(javaProvider_); } - bool enableCustomDrawOrderFabric() override { - static const auto method = - getReactNativeFeatureFlagsProviderJavaClass()->getMethod("enableCustomDrawOrderFabric"); - return method(javaProvider_); - } - bool enableMicrotasks() override { static const auto method = getReactNativeFeatureFlagsProviderJavaClass()->getMethod("enableMicrotasks"); @@ -187,11 +181,6 @@ bool JReactNativeFeatureFlagsCxxInterop::enableCleanTextInputYogaNode( return ReactNativeFeatureFlags::enableCleanTextInputYogaNode(); } -bool JReactNativeFeatureFlagsCxxInterop::enableCustomDrawOrderFabric( - facebook::jni::alias_ref /*unused*/) { - return ReactNativeFeatureFlags::enableCustomDrawOrderFabric(); -} - bool JReactNativeFeatureFlagsCxxInterop::enableMicrotasks( facebook::jni::alias_ref /*unused*/) { return ReactNativeFeatureFlags::enableMicrotasks(); @@ -287,9 +276,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() { makeNativeMethod( "enableCleanTextInputYogaNode", JReactNativeFeatureFlagsCxxInterop::enableCleanTextInputYogaNode), - makeNativeMethod( - "enableCustomDrawOrderFabric", - JReactNativeFeatureFlagsCxxInterop::enableCustomDrawOrderFabric), makeNativeMethod( "enableMicrotasks", JReactNativeFeatureFlagsCxxInterop::enableMicrotasks), diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h index f55c43e880e..2471088ef32 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<> */ /** @@ -48,9 +48,6 @@ class JReactNativeFeatureFlagsCxxInterop static bool enableCleanTextInputYogaNode( facebook::jni::alias_ref); - static bool enableCustomDrawOrderFabric( - facebook::jni::alias_ref); - static bool enableMicrotasks( facebook::jni::alias_ref); diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp index 80156359a7d..782e596213c 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<43c8603042b627380cb5f6150e670753>> + * @generated SignedSource<> */ /** @@ -45,10 +45,6 @@ bool ReactNativeFeatureFlags::enableCleanTextInputYogaNode() { return getAccessor().enableCleanTextInputYogaNode(); } -bool ReactNativeFeatureFlags::enableCustomDrawOrderFabric() { - return getAccessor().enableCustomDrawOrderFabric(); -} - bool ReactNativeFeatureFlags::enableMicrotasks() { return getAccessor().enableMicrotasks(); } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h index 4c6a13bb74f..23a4112eed3 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<591d73f7e2f424ec872614831a4626ed>> */ /** @@ -67,11 +67,6 @@ class ReactNativeFeatureFlags { */ RN_EXPORT static bool enableCleanTextInputYogaNode(); - /** - * When enabled, Fabric will use customDrawOrder in ReactViewGroup (similar to old architecture). - */ - RN_EXPORT static bool enableCustomDrawOrderFabric(); - /** * Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution). */ diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp index 2223ac464df..ba4380a7643 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<0f4b93e6084d0e386563d685cc2bc419>> + * @generated SignedSource<<527421522f31923d59f90278ef457221>> */ /** @@ -137,24 +137,6 @@ bool ReactNativeFeatureFlagsAccessor::enableCleanTextInputYogaNode() { return flagValue.value(); } -bool ReactNativeFeatureFlagsAccessor::enableCustomDrawOrderFabric() { - auto flagValue = enableCustomDrawOrderFabric_.load(); - - if (!flagValue.has_value()) { - // This block is not exclusive but it is not necessary. - // If multiple threads try to initialize the feature flag, we would only - // be accessing the provider multiple times but the end state of this - // instance and the returned flag value would be the same. - - markFlagAsAccessed(6, "enableCustomDrawOrderFabric"); - - flagValue = currentProvider_->enableCustomDrawOrderFabric(); - enableCustomDrawOrderFabric_ = flagValue; - } - - return flagValue.value(); -} - bool ReactNativeFeatureFlagsAccessor::enableMicrotasks() { auto flagValue = enableMicrotasks_.load(); @@ -164,7 +146,7 @@ bool ReactNativeFeatureFlagsAccessor::enableMicrotasks() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(7, "enableMicrotasks"); + markFlagAsAccessed(6, "enableMicrotasks"); flagValue = currentProvider_->enableMicrotasks(); enableMicrotasks_ = flagValue; @@ -182,7 +164,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSpannableBuildingUnification() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(8, "enableSpannableBuildingUnification"); + markFlagAsAccessed(7, "enableSpannableBuildingUnification"); flagValue = currentProvider_->enableSpannableBuildingUnification(); enableSpannableBuildingUnification_ = flagValue; @@ -200,7 +182,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSynchronousStateUpdates() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(9, "enableSynchronousStateUpdates"); + markFlagAsAccessed(8, "enableSynchronousStateUpdates"); flagValue = currentProvider_->enableSynchronousStateUpdates(); enableSynchronousStateUpdates_ = flagValue; @@ -218,7 +200,7 @@ bool ReactNativeFeatureFlagsAccessor::enableUIConsistency() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(10, "enableUIConsistency"); + markFlagAsAccessed(9, "enableUIConsistency"); flagValue = currentProvider_->enableUIConsistency(); enableUIConsistency_ = flagValue; @@ -236,7 +218,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMountedFlagAndFixPreallocationClone() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(11, "fixMountedFlagAndFixPreallocationClone"); + markFlagAsAccessed(10, "fixMountedFlagAndFixPreallocationClone"); flagValue = currentProvider_->fixMountedFlagAndFixPreallocationClone(); fixMountedFlagAndFixPreallocationClone_ = flagValue; @@ -254,7 +236,7 @@ bool ReactNativeFeatureFlagsAccessor::forceBatchingMountItemsOnAndroid() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(12, "forceBatchingMountItemsOnAndroid"); + markFlagAsAccessed(11, "forceBatchingMountItemsOnAndroid"); flagValue = currentProvider_->forceBatchingMountItemsOnAndroid(); forceBatchingMountItemsOnAndroid_ = flagValue; @@ -272,7 +254,7 @@ bool ReactNativeFeatureFlagsAccessor::inspectorEnableCxxInspectorPackagerConnect // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(13, "inspectorEnableCxxInspectorPackagerConnection"); + markFlagAsAccessed(12, "inspectorEnableCxxInspectorPackagerConnection"); flagValue = currentProvider_->inspectorEnableCxxInspectorPackagerConnection(); inspectorEnableCxxInspectorPackagerConnection_ = flagValue; @@ -290,7 +272,7 @@ bool ReactNativeFeatureFlagsAccessor::inspectorEnableModernCDPRegistry() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(14, "inspectorEnableModernCDPRegistry"); + markFlagAsAccessed(13, "inspectorEnableModernCDPRegistry"); flagValue = currentProvider_->inspectorEnableModernCDPRegistry(); inspectorEnableModernCDPRegistry_ = flagValue; @@ -308,7 +290,7 @@ bool ReactNativeFeatureFlagsAccessor::preventDoubleTextMeasure() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(15, "preventDoubleTextMeasure"); + markFlagAsAccessed(14, "preventDoubleTextMeasure"); flagValue = currentProvider_->preventDoubleTextMeasure(); preventDoubleTextMeasure_ = flagValue; @@ -326,7 +308,7 @@ bool ReactNativeFeatureFlagsAccessor::useModernRuntimeScheduler() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(16, "useModernRuntimeScheduler"); + markFlagAsAccessed(15, "useModernRuntimeScheduler"); flagValue = currentProvider_->useModernRuntimeScheduler(); useModernRuntimeScheduler_ = flagValue; @@ -344,7 +326,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(17, "useNativeViewConfigsInBridgelessMode"); + markFlagAsAccessed(16, "useNativeViewConfigsInBridgelessMode"); flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode(); useNativeViewConfigsInBridgelessMode_ = flagValue; @@ -362,7 +344,7 @@ bool ReactNativeFeatureFlagsAccessor::useStateAlignmentMechanism() { // be accessing the provider multiple times but the end state of this // instance and the returned flag value would be the same. - markFlagAsAccessed(18, "useStateAlignmentMechanism"); + markFlagAsAccessed(17, "useStateAlignmentMechanism"); flagValue = currentProvider_->useStateAlignmentMechanism(); useStateAlignmentMechanism_ = flagValue; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h index df908d1da0a..43f48ca96ea 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<811a055d007f6994b21c2e7ce0d79302>> */ /** @@ -37,7 +37,6 @@ class ReactNativeFeatureFlagsAccessor { bool destroyFabricSurfacesInReactInstanceManager(); bool enableBackgroundExecutor(); bool enableCleanTextInputYogaNode(); - bool enableCustomDrawOrderFabric(); bool enableMicrotasks(); bool enableSpannableBuildingUnification(); bool enableSynchronousStateUpdates(); @@ -60,7 +59,7 @@ class ReactNativeFeatureFlagsAccessor { std::unique_ptr currentProvider_; bool wasOverridden_; - std::array, 19> accessedFeatureFlags_; + std::array, 18> accessedFeatureFlags_; std::atomic> commonTestFlag_; std::atomic> androidEnablePendingFabricTransactions_; @@ -68,7 +67,6 @@ class ReactNativeFeatureFlagsAccessor { std::atomic> destroyFabricSurfacesInReactInstanceManager_; std::atomic> enableBackgroundExecutor_; std::atomic> enableCleanTextInputYogaNode_; - std::atomic> enableCustomDrawOrderFabric_; std::atomic> enableMicrotasks_; std::atomic> enableSpannableBuildingUnification_; std::atomic> enableSynchronousStateUpdates_; diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h index 39c05e2955e..d885dee3506 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<1c1413a29d3a3baf9876d4dfbd18e54f>> + * @generated SignedSource<<86a28a4327a46f324102b81050d14214>> */ /** @@ -51,10 +51,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider { return false; } - bool enableCustomDrawOrderFabric() override { - return false; - } - bool enableMicrotasks() override { return false; } diff --git a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h index 5dfea969a7e..57bd9540b3b 100644 --- a/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +++ b/packages/react-native/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<9e58a6e297303c4637a984628a7ded1c>> + * @generated SignedSource<> */ /** @@ -31,7 +31,6 @@ class ReactNativeFeatureFlagsProvider { virtual bool destroyFabricSurfacesInReactInstanceManager() = 0; virtual bool enableBackgroundExecutor() = 0; virtual bool enableCleanTextInputYogaNode() = 0; - virtual bool enableCustomDrawOrderFabric() = 0; virtual bool enableMicrotasks() = 0; virtual bool enableSpannableBuildingUnification() = 0; virtual bool enableSynchronousStateUpdates() = 0; diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp index 1c81b7ee275..953f361a1bc 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<425a83dc7418db4dcd44deae3b2dd4ce>> + * @generated SignedSource<> */ /** @@ -67,11 +67,6 @@ bool NativeReactNativeFeatureFlags::enableCleanTextInputYogaNode( return ReactNativeFeatureFlags::enableCleanTextInputYogaNode(); } -bool NativeReactNativeFeatureFlags::enableCustomDrawOrderFabric( - jsi::Runtime& /*runtime*/) { - return ReactNativeFeatureFlags::enableCustomDrawOrderFabric(); -} - bool NativeReactNativeFeatureFlags::enableMicrotasks( jsi::Runtime& /*runtime*/) { return ReactNativeFeatureFlags::enableMicrotasks(); diff --git a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h index 4bbca95ca26..9bdaec9c0c0 100644 --- a/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +++ b/packages/react-native/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<> + * @generated SignedSource<<2996a4d6acd8b62e6326f587d0a4d448>> */ /** @@ -47,8 +47,6 @@ class NativeReactNativeFeatureFlags bool enableCleanTextInputYogaNode(jsi::Runtime& runtime); - bool enableCustomDrawOrderFabric(jsi::Runtime& runtime); - bool enableMicrotasks(jsi::Runtime& runtime); bool enableSpannableBuildingUnification(jsi::Runtime& runtime); diff --git a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js index e3cfb54291a..0fb3ff5d51a 100644 --- a/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js +++ b/packages/react-native/scripts/featureflags/ReactNativeFeatureFlags.config.js @@ -56,11 +56,6 @@ const definitions: FeatureFlagDefinitions = { defaultValue: false, description: 'Clean yoga node when does not change.', }, - enableCustomDrawOrderFabric: { - defaultValue: false, - description: - 'When enabled, Fabric will use customDrawOrder in ReactViewGroup (similar to old architecture).', - }, enableMicrotasks: { defaultValue: false, description: diff --git a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js index 8f2a885fdfa..03a60073959 100644 --- a/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/ReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<2069622ac0b7f7a7aa1523d891d2969b>> + * @generated SignedSource<<5155e9913578dcfd8313f768974d20fc>> * @flow strict-local */ @@ -46,7 +46,6 @@ export type ReactNativeFeatureFlags = { destroyFabricSurfacesInReactInstanceManager: Getter, enableBackgroundExecutor: Getter, enableCleanTextInputYogaNode: Getter, - enableCustomDrawOrderFabric: Getter, enableMicrotasks: Getter, enableSpannableBuildingUnification: Getter, enableSynchronousStateUpdates: Getter, @@ -125,10 +124,6 @@ export const enableBackgroundExecutor: Getter = createNativeFlagGetter( * Clean yoga node when does not change. */ export const enableCleanTextInputYogaNode: Getter = createNativeFlagGetter('enableCleanTextInputYogaNode', false); -/** - * When enabled, Fabric will use customDrawOrder in ReactViewGroup (similar to old architecture). - */ -export const enableCustomDrawOrderFabric: Getter = createNativeFlagGetter('enableCustomDrawOrderFabric', false); /** * Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution). */ diff --git a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js index 1beaf4ab08b..f4b0319eaa9 100644 --- a/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +++ b/packages/react-native/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js @@ -4,7 +4,7 @@ * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. * - * @generated SignedSource<<4dc41ba7453a167d762168aca78ad8c4>> + * @generated SignedSource<<2dd0e401cb2ce011c938378bda940c9b>> * @flow strict-local */ @@ -29,7 +29,6 @@ export interface Spec extends TurboModule { +destroyFabricSurfacesInReactInstanceManager?: () => boolean; +enableBackgroundExecutor?: () => boolean; +enableCleanTextInputYogaNode?: () => boolean; - +enableCustomDrawOrderFabric?: () => boolean; +enableMicrotasks?: () => boolean; +enableSpannableBuildingUnification?: () => boolean; +enableSynchronousStateUpdates?: () => boolean;