mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
[Local] Remove duplicated feature flags
This commit is contained in:
+1
-7
@@ -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<<f3d26e8e345068bc7ef4e156be460e09>>
|
||||
* @generated SignedSource<<b86e9fd5499308ce65b389342eb436a2>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -70,12 +70,6 @@ public object ReactNativeFeatureFlags {
|
||||
@JvmStatic
|
||||
public fun enableMicrotasks(): Boolean = accessor.enableMicrotasks()
|
||||
|
||||
/**
|
||||
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
||||
*/
|
||||
@JvmStatic
|
||||
public fun batchRenderingUpdatesInEventLoop(): Boolean = accessor.batchRenderingUpdatesInEventLoop()
|
||||
|
||||
/**
|
||||
* Uses new, deduplicated logic for constructing Android Spannables from text fragments
|
||||
*/
|
||||
|
||||
+1
-11
@@ -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<<40668dcd951123da7c0b4ddde23f94c9>>
|
||||
* @generated SignedSource<<c0a85b92bca9bb03f28af67224239c09>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -27,7 +27,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso
|
||||
private var enableBackgroundExecutorCache: Boolean? = null
|
||||
private var useModernRuntimeSchedulerCache: Boolean? = null
|
||||
private var enableMicrotasksCache: Boolean? = null
|
||||
private var batchRenderingUpdatesInEventLoopCache: Boolean? = null
|
||||
private var enableSpannableBuildingUnificationCache: Boolean? = null
|
||||
private var enableCustomDrawOrderFabricCache: Boolean? = null
|
||||
private var enableFixForClippedSubviewsCrashCache: Boolean? = null
|
||||
@@ -97,15 +96,6 @@ public class ReactNativeFeatureFlagsCxxAccessor : ReactNativeFeatureFlagsAccesso
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun batchRenderingUpdatesInEventLoop(): Boolean {
|
||||
var cached = batchRenderingUpdatesInEventLoopCache
|
||||
if (cached == null) {
|
||||
cached = ReactNativeFeatureFlagsCxxInterop.batchRenderingUpdatesInEventLoop()
|
||||
batchRenderingUpdatesInEventLoopCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun enableSpannableBuildingUnification(): Boolean {
|
||||
var cached = enableSpannableBuildingUnificationCache
|
||||
if (cached == null) {
|
||||
|
||||
+1
-3
@@ -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<<c3f02dff409c10aa7922141cef3a6990>>
|
||||
* @generated SignedSource<<5fece1bcbbd750b82b8e4b125c57101e>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -42,8 +42,6 @@ public object ReactNativeFeatureFlagsCxxInterop {
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun enableMicrotasks(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun batchRenderingUpdatesInEventLoop(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun enableSpannableBuildingUnification(): Boolean
|
||||
|
||||
@DoNotStrip @JvmStatic public external fun enableCustomDrawOrderFabric(): Boolean
|
||||
|
||||
+1
-3
@@ -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<<d12888990ebca7c6199f4b51802ee59b>>
|
||||
* @generated SignedSource<<4462edcf10a85654be7c71a7438a2288>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -37,8 +37,6 @@ public open class ReactNativeFeatureFlagsDefaults : ReactNativeFeatureFlagsProvi
|
||||
|
||||
override fun enableMicrotasks(): Boolean = false
|
||||
|
||||
override fun batchRenderingUpdatesInEventLoop(): Boolean = false
|
||||
|
||||
override fun enableSpannableBuildingUnification(): Boolean = false
|
||||
|
||||
override fun enableCustomDrawOrderFabric(): Boolean = false
|
||||
|
||||
+1
-12
@@ -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<<c06b3b34cea24459f6ade0ec5665dae7>>
|
||||
* @generated SignedSource<<e02f6a9473a98f27ee44ff303db9e0b7>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -31,7 +31,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
|
||||
private var enableBackgroundExecutorCache: Boolean? = null
|
||||
private var useModernRuntimeSchedulerCache: Boolean? = null
|
||||
private var enableMicrotasksCache: Boolean? = null
|
||||
private var batchRenderingUpdatesInEventLoopCache: Boolean? = null
|
||||
private var enableSpannableBuildingUnificationCache: Boolean? = null
|
||||
private var enableCustomDrawOrderFabricCache: Boolean? = null
|
||||
private var enableFixForClippedSubviewsCrashCache: Boolean? = null
|
||||
@@ -108,16 +107,6 @@ public class ReactNativeFeatureFlagsLocalAccessor : ReactNativeFeatureFlagsAcces
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun batchRenderingUpdatesInEventLoop(): Boolean {
|
||||
var cached = batchRenderingUpdatesInEventLoopCache
|
||||
if (cached == null) {
|
||||
cached = currentProvider.batchRenderingUpdatesInEventLoop()
|
||||
accessedFeatureFlags.add("batchRenderingUpdatesInEventLoop")
|
||||
batchRenderingUpdatesInEventLoopCache = cached
|
||||
}
|
||||
return cached
|
||||
}
|
||||
|
||||
override fun enableSpannableBuildingUnification(): Boolean {
|
||||
var cached = enableSpannableBuildingUnificationCache
|
||||
if (cached == null) {
|
||||
|
||||
+1
-3
@@ -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<<dceb20e62a9ddbb98c872a24fab9765c>>
|
||||
* @generated SignedSource<<9190129a45a19b25dd23126f05b03356>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -37,8 +37,6 @@ public interface ReactNativeFeatureFlagsProvider {
|
||||
|
||||
@DoNotStrip public fun enableMicrotasks(): Boolean
|
||||
|
||||
@DoNotStrip public fun batchRenderingUpdatesInEventLoop(): Boolean
|
||||
|
||||
@DoNotStrip public fun enableSpannableBuildingUnification(): Boolean
|
||||
|
||||
@DoNotStrip public fun enableCustomDrawOrderFabric(): Boolean
|
||||
|
||||
+1
-15
@@ -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<<ec76fca802fcc6f2c2357de21f482cb3>>
|
||||
* @generated SignedSource<<7ab741aec808bc3a138470fe18ef8b8a>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -81,12 +81,6 @@ class ReactNativeFeatureFlagsProviderHolder
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool batchRenderingUpdatesInEventLoop() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("batchRenderingUpdatesInEventLoop");
|
||||
return method(javaProvider_);
|
||||
}
|
||||
|
||||
bool enableSpannableBuildingUnification() override {
|
||||
static const auto method =
|
||||
getReactNativeFeatureFlagsProviderJavaClass()->getMethod<jboolean()>("enableSpannableBuildingUnification");
|
||||
@@ -156,11 +150,6 @@ bool JReactNativeFeatureFlagsCxxInterop::enableMicrotasks(
|
||||
return ReactNativeFeatureFlags::enableMicrotasks();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::batchRenderingUpdatesInEventLoop(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop();
|
||||
}
|
||||
|
||||
bool JReactNativeFeatureFlagsCxxInterop::enableSpannableBuildingUnification(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop> /*unused*/) {
|
||||
return ReactNativeFeatureFlags::enableSpannableBuildingUnification();
|
||||
@@ -224,9 +213,6 @@ void JReactNativeFeatureFlagsCxxInterop::registerNatives() {
|
||||
makeNativeMethod(
|
||||
"enableMicrotasks",
|
||||
JReactNativeFeatureFlagsCxxInterop::enableMicrotasks),
|
||||
makeNativeMethod(
|
||||
"batchRenderingUpdatesInEventLoop",
|
||||
JReactNativeFeatureFlagsCxxInterop::batchRenderingUpdatesInEventLoop),
|
||||
makeNativeMethod(
|
||||
"enableSpannableBuildingUnification",
|
||||
JReactNativeFeatureFlagsCxxInterop::enableSpannableBuildingUnification),
|
||||
|
||||
+1
-4
@@ -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<<3a6ff4e2f6d4056d903542cc620e07a9>>
|
||||
* @generated SignedSource<<0d37cc1fb8217b0f4a849e178ec2ec68>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -51,9 +51,6 @@ class JReactNativeFeatureFlagsCxxInterop
|
||||
static bool enableMicrotasks(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool batchRenderingUpdatesInEventLoop(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
static bool enableSpannableBuildingUnification(
|
||||
facebook::jni::alias_ref<JReactNativeFeatureFlagsCxxInterop>);
|
||||
|
||||
|
||||
@@ -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<<6305ea7c2cb59caeaf2ea9cea69b8203>>
|
||||
* @generated SignedSource<<7ba277e9902ca2a0b171daf223644b89>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -49,10 +49,6 @@ bool ReactNativeFeatureFlags::enableMicrotasks() {
|
||||
return getAccessor().enableMicrotasks();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop() {
|
||||
return getAccessor().batchRenderingUpdatesInEventLoop();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlags::enableSpannableBuildingUnification() {
|
||||
return getAccessor().enableSpannableBuildingUnification();
|
||||
}
|
||||
|
||||
@@ -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<<5a5c6772253f49b0b768cd7ef090af14>>
|
||||
* @generated SignedSource<<bf4d30ecf78c8d2f65741c16d8d07bde>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -36,22 +36,22 @@ class ReactNativeFeatureFlags {
|
||||
/**
|
||||
* Common flag for testing. Do NOT modify.
|
||||
*/
|
||||
RN_EXPORT static bool commonTestFlag();
|
||||
static bool commonTestFlag();
|
||||
|
||||
/**
|
||||
* To be used with batchRenderingUpdatesInEventLoop. When enbled, the Android mounting layer will concatenate pending transactions to ensure they're applied atomatically
|
||||
*/
|
||||
RN_EXPORT static bool androidEnablePendingFabricTransactions();
|
||||
static bool androidEnablePendingFabricTransactions();
|
||||
|
||||
/**
|
||||
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
||||
*/
|
||||
RN_EXPORT static bool batchRenderingUpdatesInEventLoop();
|
||||
static bool batchRenderingUpdatesInEventLoop();
|
||||
|
||||
/**
|
||||
* When enabled, ReactInstanceManager will clean up Fabric surfaces on destroy().
|
||||
*/
|
||||
RN_EXPORT static bool destroyFabricSurfacesInReactInstanceManager();
|
||||
static bool destroyFabricSurfacesInReactInstanceManager();
|
||||
|
||||
/**
|
||||
* Enables the use of a background executor to compute layout and commit updates on Fabric (this system is deprecated and should not be used).
|
||||
@@ -68,11 +68,6 @@ class ReactNativeFeatureFlags {
|
||||
*/
|
||||
static bool enableMicrotasks();
|
||||
|
||||
/**
|
||||
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
||||
*/
|
||||
static bool batchRenderingUpdatesInEventLoop();
|
||||
|
||||
/**
|
||||
* Uses new, deduplicated logic for constructing Android Spannables from text fragments
|
||||
*/
|
||||
|
||||
+10
-118
@@ -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<<b402923520c287a015cd57bd75af47cf>>
|
||||
* @generated SignedSource<<5311a007bec258c79bf1ca3e2355101c>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -119,8 +119,8 @@ bool ReactNativeFeatureFlagsAccessor::enableBackgroundExecutor() {
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::enableCleanTextInputYogaNode() {
|
||||
auto flagValue = enableCleanTextInputYogaNode_.load();
|
||||
bool ReactNativeFeatureFlagsAccessor::useModernRuntimeScheduler() {
|
||||
auto flagValue = useModernRuntimeScheduler_.load();
|
||||
|
||||
if (!flagValue.has_value()) {
|
||||
// This block is not exclusive but it is not necessary.
|
||||
@@ -128,25 +128,7 @@ bool ReactNativeFeatureFlagsAccessor::enableCleanTextInputYogaNode() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(5, "enableCleanTextInputYogaNode");
|
||||
|
||||
flagValue = currentProvider_->enableCleanTextInputYogaNode();
|
||||
enableCleanTextInputYogaNode_ = flagValue;
|
||||
}
|
||||
|
||||
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");
|
||||
markFlagAsAccessed(5, "useModernRuntimeScheduler");
|
||||
|
||||
flagValue = currentProvider_->useModernRuntimeScheduler();
|
||||
useModernRuntimeScheduler_ = flagValue;
|
||||
@@ -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;
|
||||
@@ -173,24 +155,6 @@ bool ReactNativeFeatureFlagsAccessor::enableMicrotasks() {
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::batchRenderingUpdatesInEventLoop() {
|
||||
auto flagValue = batchRenderingUpdatesInEventLoop_.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(8, "enableSpannableBuildingUnification");
|
||||
|
||||
flagValue = currentProvider_->batchRenderingUpdatesInEventLoop();
|
||||
batchRenderingUpdatesInEventLoop_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::enableSpannableBuildingUnification() {
|
||||
auto flagValue = enableSpannableBuildingUnification_.load();
|
||||
|
||||
@@ -200,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(9, "enableSynchronousStateUpdates");
|
||||
markFlagAsAccessed(7, "enableSpannableBuildingUnification");
|
||||
|
||||
flagValue = currentProvider_->enableSpannableBuildingUnification();
|
||||
enableSpannableBuildingUnification_ = flagValue;
|
||||
@@ -218,7 +182,7 @@ bool ReactNativeFeatureFlagsAccessor::enableCustomDrawOrderFabric() {
|
||||
// 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(8, "enableCustomDrawOrderFabric");
|
||||
|
||||
flagValue = currentProvider_->enableCustomDrawOrderFabric();
|
||||
enableCustomDrawOrderFabric_ = flagValue;
|
||||
@@ -236,7 +200,7 @@ bool ReactNativeFeatureFlagsAccessor::enableFixForClippedSubviewsCrash() {
|
||||
// be accessing the provider multiple times but the end state of this
|
||||
// instance and the returned flag value would be the same.
|
||||
|
||||
markFlagAsAccessed(11, "forceBatchingMountItemsOnAndroid");
|
||||
markFlagAsAccessed(9, "enableFixForClippedSubviewsCrash");
|
||||
|
||||
flagValue = currentProvider_->enableFixForClippedSubviewsCrash();
|
||||
enableFixForClippedSubviewsCrash_ = flagValue;
|
||||
@@ -254,7 +218,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(12, "inspectorEnableCxxInspectorPackagerConnection");
|
||||
markFlagAsAccessed(10, "inspectorEnableCxxInspectorPackagerConnection");
|
||||
|
||||
flagValue = currentProvider_->inspectorEnableCxxInspectorPackagerConnection();
|
||||
inspectorEnableCxxInspectorPackagerConnection_ = flagValue;
|
||||
@@ -272,7 +236,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(13, "inspectorEnableModernCDPRegistry");
|
||||
markFlagAsAccessed(11, "inspectorEnableModernCDPRegistry");
|
||||
|
||||
flagValue = currentProvider_->inspectorEnableModernCDPRegistry();
|
||||
inspectorEnableModernCDPRegistry_ = flagValue;
|
||||
@@ -281,78 +245,6 @@ bool ReactNativeFeatureFlagsAccessor::inspectorEnableModernCDPRegistry() {
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::preventDoubleTextMeasure() {
|
||||
auto flagValue = preventDoubleTextMeasure_.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(14, "preventDoubleTextMeasure");
|
||||
|
||||
flagValue = currentProvider_->preventDoubleTextMeasure();
|
||||
preventDoubleTextMeasure_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::useModernRuntimeScheduler() {
|
||||
auto flagValue = useModernRuntimeScheduler_.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(15, "useModernRuntimeScheduler");
|
||||
|
||||
flagValue = currentProvider_->useModernRuntimeScheduler();
|
||||
useModernRuntimeScheduler_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
|
||||
auto flagValue = useNativeViewConfigsInBridgelessMode_.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(16, "useNativeViewConfigsInBridgelessMode");
|
||||
|
||||
flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
|
||||
useNativeViewConfigsInBridgelessMode_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
bool ReactNativeFeatureFlagsAccessor::useStateAlignmentMechanism() {
|
||||
auto flagValue = useStateAlignmentMechanism_.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(17, "useStateAlignmentMechanism");
|
||||
|
||||
flagValue = currentProvider_->useStateAlignmentMechanism();
|
||||
useStateAlignmentMechanism_ = flagValue;
|
||||
}
|
||||
|
||||
return flagValue.value();
|
||||
}
|
||||
|
||||
void ReactNativeFeatureFlagsAccessor::override(
|
||||
std::unique_ptr<ReactNativeFeatureFlagsProvider> provider) {
|
||||
if (wasOverridden_) {
|
||||
|
||||
+2
-4
@@ -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<<9be1a64b5efca2421dfb093dbcc1f793>>
|
||||
* @generated SignedSource<<e67096a87dc73576add98d1d3ea6909b>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -38,7 +38,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
bool enableBackgroundExecutor();
|
||||
bool useModernRuntimeScheduler();
|
||||
bool enableMicrotasks();
|
||||
bool batchRenderingUpdatesInEventLoop();
|
||||
bool enableSpannableBuildingUnification();
|
||||
bool enableCustomDrawOrderFabric();
|
||||
bool enableFixForClippedSubviewsCrash();
|
||||
@@ -54,7 +53,7 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
||||
bool wasOverridden_;
|
||||
|
||||
std::array<std::atomic<const char*>, 18> accessedFeatureFlags_;
|
||||
std::array<std::atomic<const char*>, 12> accessedFeatureFlags_;
|
||||
|
||||
std::atomic<std::optional<bool>> commonTestFlag_;
|
||||
std::atomic<std::optional<bool>> androidEnablePendingFabricTransactions_;
|
||||
@@ -63,7 +62,6 @@ class ReactNativeFeatureFlagsAccessor {
|
||||
std::atomic<std::optional<bool>> enableBackgroundExecutor_;
|
||||
std::atomic<std::optional<bool>> useModernRuntimeScheduler_;
|
||||
std::atomic<std::optional<bool>> enableMicrotasks_;
|
||||
std::atomic<std::optional<bool>> batchRenderingUpdatesInEventLoop_;
|
||||
std::atomic<std::optional<bool>> enableSpannableBuildingUnification_;
|
||||
std::atomic<std::optional<bool>> enableCustomDrawOrderFabric_;
|
||||
std::atomic<std::optional<bool>> enableFixForClippedSubviewsCrash_;
|
||||
|
||||
+1
-5
@@ -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<<a1530f969f47f31b8588109e48f527a1>>
|
||||
* @generated SignedSource<<8a0f2e61752ae83a7a3032939f4a59fa>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -55,10 +55,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool batchRenderingUpdatesInEventLoop() override {
|
||||
return false;
|
||||
}
|
||||
|
||||
bool enableSpannableBuildingUnification() override {
|
||||
return false;
|
||||
}
|
||||
|
||||
+1
-2
@@ -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<<3f99a52c114d6f96edb2b2b2f549b6a6>>
|
||||
* @generated SignedSource<<9194d576893a97a6d9b88f5a32c71197>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -32,7 +32,6 @@ class ReactNativeFeatureFlagsProvider {
|
||||
virtual bool enableBackgroundExecutor() = 0;
|
||||
virtual bool useModernRuntimeScheduler() = 0;
|
||||
virtual bool enableMicrotasks() = 0;
|
||||
virtual bool batchRenderingUpdatesInEventLoop() = 0;
|
||||
virtual bool enableSpannableBuildingUnification() = 0;
|
||||
virtual bool enableCustomDrawOrderFabric() = 0;
|
||||
virtual bool enableFixForClippedSubviewsCrash() = 0;
|
||||
|
||||
+1
-6
@@ -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<<5285ee6c09bf4614cb5098952aac8c87>>
|
||||
* @generated SignedSource<<6d0bae7c1b0d126e58c8b9bdeaf9247e>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -70,11 +70,6 @@ bool NativeReactNativeFeatureFlags::enableMicrotasks(
|
||||
return ReactNativeFeatureFlags::enableMicrotasks();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop();
|
||||
}
|
||||
|
||||
bool NativeReactNativeFeatureFlags::enableSpannableBuildingUnification(
|
||||
jsi::Runtime& /*runtime*/) {
|
||||
return ReactNativeFeatureFlags::enableSpannableBuildingUnification();
|
||||
|
||||
+1
-3
@@ -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<<86afdf79a8a49da18eddf53bc9d41051>>
|
||||
* @generated SignedSource<<a62e65429512894e2d7c6ea696cebcba>>
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -44,8 +44,6 @@ class NativeReactNativeFeatureFlags
|
||||
|
||||
bool enableMicrotasks(jsi::Runtime& runtime);
|
||||
|
||||
bool batchRenderingUpdatesInEventLoop(jsi::Runtime& runtime);
|
||||
|
||||
bool enableSpannableBuildingUnification(jsi::Runtime& runtime);
|
||||
|
||||
bool enableCustomDrawOrderFabric(jsi::Runtime& runtime);
|
||||
|
||||
+1
-2
@@ -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<<b7f42eb3b24f3feed4274df8398c3c94>>
|
||||
* @generated SignedSource<<8f82962343a5146622f36c2de071ff6a>>
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
@@ -30,7 +30,6 @@ export interface Spec extends TurboModule {
|
||||
+enableBackgroundExecutor?: () => boolean;
|
||||
+useModernRuntimeScheduler?: () => boolean;
|
||||
+enableMicrotasks?: () => boolean;
|
||||
+batchRenderingUpdatesInEventLoop?: () => boolean;
|
||||
+enableSpannableBuildingUnification?: () => boolean;
|
||||
+enableCustomDrawOrderFabric?: () => boolean;
|
||||
+enableFixForClippedSubviewsCrash?: () => boolean;
|
||||
|
||||
@@ -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<<6b90f52915db22d4077011a55a519b20>>
|
||||
* @generated SignedSource<<b7ebc6e4360a4b7733335f283300a4bb>>
|
||||
* @flow strict-local
|
||||
*/
|
||||
|
||||
@@ -47,7 +47,6 @@ export type ReactNativeFeatureFlags = {
|
||||
enableBackgroundExecutor: Getter<boolean>,
|
||||
useModernRuntimeScheduler: Getter<boolean>,
|
||||
enableMicrotasks: Getter<boolean>,
|
||||
batchRenderingUpdatesInEventLoop: Getter<boolean>,
|
||||
enableSpannableBuildingUnification: Getter<boolean>,
|
||||
enableCustomDrawOrderFabric: Getter<boolean>,
|
||||
enableFixForClippedSubviewsCrash: Getter<boolean>,
|
||||
@@ -123,10 +122,6 @@ export const useModernRuntimeScheduler: Getter<boolean> = createNativeFlagGetter
|
||||
* Enables the use of microtasks in Hermes (scheduling) and RuntimeScheduler (execution).
|
||||
*/
|
||||
export const enableMicrotasks: Getter<boolean> = createNativeFlagGetter('enableMicrotasks', false);
|
||||
/**
|
||||
* When enabled, the RuntimeScheduler processing the event loop will batch all rendering updates and dispatch them together at the end of each iteration of the loop.
|
||||
*/
|
||||
export const batchRenderingUpdatesInEventLoop: Getter<boolean> = createNativeFlagGetter('batchRenderingUpdatesInEventLoop', false);
|
||||
/**
|
||||
* Uses new, deduplicated logic for constructing Android Spannables from text fragments
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user