From 3d8b97b9565ead9da1446216af0c4e7919a5f4f9 Mon Sep 17 00:00:00 2001 From: Joe Vilches Date: Thu, 18 Jan 2024 14:04:26 -0800 Subject: [PATCH] Rename AbsolutePositioning errata (#42318) Summary: X-link: https://github.com/facebook/yoga/pull/1558 AbsolutePositioning -> AbsolutePositioningCatchAll A bit more clear. This errata is for various issues with positioning absolute nodes. There really isn't a clear description as to what specifically this enables/disables, so I just opted to say "catch all" to indicate that this controls various bugs bypass-github-export-checks Reviewed By: NickGerleman Differential Revision: D52820117 --- .../java/com/facebook/yoga/YogaErrata.java | 4 +- .../ReactCommon/yoga/yoga/YGEnums.cpp | 4 +- .../ReactCommon/yoga/yoga/YGEnums.h | 2 +- .../yoga/yoga/algorithm/AbsoluteLayout.cpp | 37 ++++++++++--------- .../ReactCommon/yoga/yoga/enums/Errata.h | 2 +- 5 files changed, 25 insertions(+), 24 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java b/packages/react-native/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java index e429d3408409cc..a0f26bf2a930cc 100644 --- a/packages/react-native/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java +++ b/packages/react-native/ReactAndroid/src/main/java/com/facebook/yoga/YogaErrata.java @@ -12,7 +12,7 @@ public enum YogaErrata { NONE(0), STRETCH_FLEX_BASIS(1), - ABSOLUTE_POSITIONING(2), + ABSOLUTE_POSITIONING_INCORRECT(2), ABSOLUTE_PERCENT_AGAINST_INNER_SIZE(4), ALL(2147483647), CLASSIC(2147483646); @@ -31,7 +31,7 @@ public static YogaErrata fromInt(int value) { switch (value) { case 0: return NONE; case 1: return STRETCH_FLEX_BASIS; - case 2: return ABSOLUTE_POSITIONING; + case 2: return ABSOLUTE_POSITIONING_INCORRECT; case 4: return ABSOLUTE_PERCENT_AGAINST_INNER_SIZE; case 2147483647: return ALL; case 2147483646: return CLASSIC; diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGEnums.cpp b/packages/react-native/ReactCommon/yoga/yoga/YGEnums.cpp index acac21148f7e2b..d3365d3a421730 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGEnums.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/YGEnums.cpp @@ -95,8 +95,8 @@ const char* YGErrataToString(const YGErrata value) { return "none"; case YGErrataStretchFlexBasis: return "stretch-flex-basis"; - case YGErrataAbsolutePositioning: - return "absolute-positioning"; + case YGErrataAbsolutePositioningIncorrect: + return "absolute-positioning-incorrect"; case YGErrataAbsolutePercentAgainstInnerSize: return "absolute-percent-against-inner-size"; case YGErrataAll: diff --git a/packages/react-native/ReactCommon/yoga/yoga/YGEnums.h b/packages/react-native/ReactCommon/yoga/yoga/YGEnums.h index 5b67aa49205f7e..18fbe0fe02c970 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/YGEnums.h +++ b/packages/react-native/ReactCommon/yoga/yoga/YGEnums.h @@ -56,7 +56,7 @@ YG_ENUM_DECL( YGErrata, YGErrataNone = 0, YGErrataStretchFlexBasis = 1, - YGErrataAbsolutePositioning = 2, + YGErrataAbsolutePositioningIncorrect = 2, YGErrataAbsolutePercentAgainstInnerSize = 4, YGErrataAll = 2147483647, YGErrataClassic = 2147483646) diff --git a/packages/react-native/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp b/packages/react-native/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp index 7a47c4d18e1db4..d58833554ceb1e 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp +++ b/packages/react-native/ReactCommon/yoga/yoga/algorithm/AbsoluteLayout.cpp @@ -261,24 +261,25 @@ static void positionAbsoluteChild( const bool isMainAxis, const float containingBlockWidth, const float containingBlockHeight) { - child->hasErrata(Errata::AbsolutePositioning) ? positionAbsoluteChildLegacy( - containingNode, - parent, - child, - direction, - axis, - isMainAxis, - containingBlockWidth, - containingBlockHeight) - : positionAbsoluteChildImpl( - containingNode, - parent, - child, - direction, - axis, - isMainAxis, - containingBlockWidth, - containingBlockHeight); + child->hasErrata(Errata::AbsolutePositioningIncorrect) + ? positionAbsoluteChildLegacy( + containingNode, + parent, + child, + direction, + axis, + isMainAxis, + containingBlockWidth, + containingBlockHeight) + : positionAbsoluteChildImpl( + containingNode, + parent, + child, + direction, + axis, + isMainAxis, + containingBlockWidth, + containingBlockHeight); } void layoutAbsoluteChild( diff --git a/packages/react-native/ReactCommon/yoga/yoga/enums/Errata.h b/packages/react-native/ReactCommon/yoga/yoga/enums/Errata.h index 43f1ba1a989314..1b43742e03528b 100644 --- a/packages/react-native/ReactCommon/yoga/yoga/enums/Errata.h +++ b/packages/react-native/ReactCommon/yoga/yoga/enums/Errata.h @@ -18,7 +18,7 @@ namespace facebook::yoga { enum class Errata : uint32_t { None = YGErrataNone, StretchFlexBasis = YGErrataStretchFlexBasis, - AbsolutePositioning = YGErrataAbsolutePositioning, + AbsolutePositioningIncorrect = YGErrataAbsolutePositioningIncorrect, AbsolutePercentAgainstInnerSize = YGErrataAbsolutePercentAgainstInnerSize, All = YGErrataAll, Classic = YGErrataClassic,