Skip to content

Commit

Permalink
remove gating for rtl swapping fix + clean Paragraph Yoga node (#42297)
Browse files Browse the repository at this point in the history
Summary:
Pull Request resolved: #42297

changelog: [internal]

Reviewed By: fkgozali

Differential Revision: D52728092

fbshipit-source-id: 6d05e5b72a350847030e0655aa914b64a4681752
  • Loading branch information
sammy-SC authored and facebook-github-bot committed Jan 19, 2024
1 parent 1d89fad commit 565dec4
Show file tree
Hide file tree
Showing 7 changed files with 7 additions and 32 deletions.
2 changes: 0 additions & 2 deletions packages/react-native/ReactAndroid/api/ReactAndroid.api
Original file line number Diff line number Diff line change
Expand Up @@ -1890,12 +1890,10 @@ public class com/facebook/react/common/network/OkHttpCallUtil {
public class com/facebook/react/config/ReactFeatureFlags {
public static field calculateTransformedFramesEnabled Z
public static field dispatchPointerEvents Z
public static field doNotSwapLeftAndRightOnAndroidInLTR Z
public static field enableBackgroundExecutor Z
public static field enableBridgelessArchitecture Z
public static field enableBridgelessArchitectureNewCreateReloadDestroy Z
public static field enableBridgelessArchitectureSoftExceptions Z
public static field enableCleanParagraphYogaNode Z
public static field enableClonelessStateProgression Z
public static field enableCppPropsIteratorSetter Z
public static field enableDefaultAsyncBatchedPriority Z
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -130,12 +130,6 @@ public class ReactFeatureFlags {
/** Use native view configs in bridgeless mode. */
public static boolean useNativeViewConfigsInBridgelessMode = false;

/** Only swap left and right on Android in RTL scripts. */
public static boolean doNotSwapLeftAndRightOnAndroidInLTR = false;

/** Clean yoga node when <Text /> does not change. */
public static boolean enableCleanParagraphYogaNode = false;

/** Default state updates and events to async batched priority. */
public static boolean enableDefaultAsyncBatchedPriority = false;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -414,10 +414,6 @@ void Binding::installFabricUIManager(

CoreFeatures::enablePropIteratorSetter =
getFeatureFlagValue("enableCppPropsIteratorSetter");
CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR =
getFeatureFlagValue("doNotSwapLeftAndRightOnAndroidInLTR");
CoreFeatures::enableCleanParagraphYogaNode =
getFeatureFlagValue("enableCleanParagraphYogaNode");
CoreFeatures::enableDefaultAsyncBatchedPriority =
getFeatureFlagValue("enableDefaultAsyncBatchedPriority");
CoreFeatures::enableClonelessStateProgression =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
#include <react/renderer/graphics/rounding.h>
#include <react/renderer/telemetry/TransactionTelemetry.h>
#include <react/renderer/textlayoutmanager/TextLayoutContext.h>
#include <react/utils/CoreFeatures.h>

#include "ParagraphState.h"

Expand All @@ -31,13 +30,11 @@ ParagraphShadowNode::ParagraphShadowNode(
const ShadowNode& sourceShadowNode,
const ShadowNodeFragment& fragment)
: ConcreteViewShadowNode(sourceShadowNode, fragment) {
if (CoreFeatures::enableCleanParagraphYogaNode) {
if (!fragment.children && !fragment.props) {
// This ParagraphShadowNode was cloned but did not change
// in a way that affects its layout. Let's mark it clean
// to stop Yoga from traversing it.
cleanLayout();
}
if (!fragment.children && !fragment.props) {
// This ParagraphShadowNode was cloned but did not change
// in a way that affects its layout. Let's mark it clean
// to stop Yoga from traversing it.
cleanLayout();
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -580,8 +580,7 @@ void YogaLayoutableShadowNode::layoutTree(
SystraceSection s1("YogaLayoutableShadowNode::layoutTree");

bool swapLeftAndRight = layoutContext.swapLeftAndRightInRTL &&
(layoutConstraints.layoutDirection == LayoutDirection::RightToLeft ||
!CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR);
layoutConstraints.layoutDirection == LayoutDirection::RightToLeft;

{
SystraceSection s2("YogaLayoutableShadowNode::configureYogaTree");
Expand Down Expand Up @@ -699,8 +698,7 @@ void YogaLayoutableShadowNode::layout(LayoutContext layoutContext) {
newLayoutMetrics.pointScaleFactor = layoutContext.pointScaleFactor;
newLayoutMetrics.wasLeftAndRightSwapped =
layoutContext.swapLeftAndRightInRTL &&
(newLayoutMetrics.layoutDirection == LayoutDirection::RightToLeft ||
!CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR);
newLayoutMetrics.layoutDirection == LayoutDirection::RightToLeft;

// Child node's layout has changed. When a node is added to
// `affectedNodes`, onLayout event is called on the component. Comparing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ bool CoreFeatures::cacheLastTextMeasurement = false;
bool CoreFeatures::cancelImageDownloadsOnRecycle = false;
bool CoreFeatures::enableGranularScrollViewStateUpdatesIOS = false;
bool CoreFeatures::enableMountHooks = false;
bool CoreFeatures::doNotSwapLeftAndRightOnAndroidInLTR = false;
bool CoreFeatures::enableCleanParagraphYogaNode = false;
bool CoreFeatures::enableGranularShadowTreeStateReconciliation = false;
bool CoreFeatures::enableDefaultAsyncBatchedPriority = false;
bool CoreFeatures::enableClonelessStateProgression = false;
Expand Down
6 changes: 0 additions & 6 deletions packages/react-native/ReactCommon/react/utils/CoreFeatures.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,6 @@ class CoreFeatures {
// Report mount operations from the host platform to notify mount hooks.
static bool enableMountHooks;

// Only swap left and right on Android in RTL scripts.
static bool doNotSwapLeftAndRightOnAndroidInLTR;

// Clean yoga node when <Text /> does not change.
static bool enableCleanParagraphYogaNode;

// When enabled, the renderer would only fail commits when they propagate
// state and the last commit that updated state changed before committing.
static bool enableGranularShadowTreeStateReconciliation;
Expand Down

0 comments on commit 565dec4

Please sign in to comment.