Disable calculation of TransformedFrames in Layoutable ShadowNodex

Summary:
Calculation of TransformedFrames was a method introduced by D37994809 (https://github.com/facebook/react-native/commit/64528e5faa445907b8287b412c344f30c20fca61) to fix rendering of inverted flat lists.

We found that this operation is crashing in fb4a causing the UBN T127619309

This diff creates a feature flag to disable the calculation of TransformedFrames in Layoutable ShadowNodes. **The goal of this diff is to revert the behavior introduced by D37994809 (https://github.com/facebook/react-native/commit/64528e5faa445907b8287b412c344f30c20fca61)**

The featureFlag is disabled in fb4a and enabled in react AR (because ReactAr apps relies on the calculation of TransformedFrames and these apps are not affected)

The root cause of the bug will be fixed by D38280674 (which still requires more testing and investigation)

changelog: [internal] internal

Reviewed By: JoshuaGross

Differential Revision: D38286857

fbshipit-source-id: 721cd0554ae6a6b369b3f8dbb584160a270d0f18
This commit is contained in:
David Vacca
2022-07-29 17:32:35 -07:00
committed by Facebook GitHub Bot
parent a21a1f845b
commit 1e4ebf2531
6 changed files with 65 additions and 2 deletions
@@ -83,6 +83,9 @@ public class ReactFeatureFlags {
/** Enables or disables MapBuffer Serialization */
public static boolean mapBufferSerializationEnabled = false;
/** Enables or disables calculation of Transformed Frames */
public static boolean calculateTransformedFramesEnabled = false;
/** Feature Flag to use overflowInset values provided by Yoga */
public static boolean useOverflowInset = false;
@@ -434,6 +434,10 @@ void Binding::installFabricUIManager(
"MapBufferSerializationEnabled",
getFeatureFlagValue("mapBufferSerializationEnabled"));
contextContainer->insert(
"CalculateTransformedFramesEnabled",
getFeatureFlagValue("calculateTransformedFramesEnabled"));
disablePreallocateViews_ = reactNativeConfig_->getBool(
"react_fabric:disabled_view_preallocation_android");