Rename AbsolutePositioning errata (#1558)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1558 X-link: https://github.com/facebook/react-native/pull/42318 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 Reviewed By: NickGerleman Differential Revision: D52820117 fbshipit-source-id: 80b77832baf65e68e57ca523c418422dd346ef0f
This commit is contained in:
committed by
Facebook GitHub Bot
parent
06c26d7d46
commit
1541f9d528
2
enums.py
2
enums.py
@@ -68,7 +68,7 @@ ENUMS = {
|
|||||||
("StretchFlexBasis", 1 << 0),
|
("StretchFlexBasis", 1 << 0),
|
||||||
# Positioning of absolute nodes will have various bugs related to
|
# Positioning of absolute nodes will have various bugs related to
|
||||||
# justification, alignment, and insets
|
# justification, alignment, and insets
|
||||||
("AbsolutePositioning", 1 << 1),
|
("AbsolutePositioningIncorrect", 1 << 1),
|
||||||
# Absolute nodes will resolve percentages against the inner size of
|
# Absolute nodes will resolve percentages against the inner size of
|
||||||
# their containing node, not the padding box
|
# their containing node, not the padding box
|
||||||
("AbsolutePercentAgainstInnerSize", 1 << 2),
|
("AbsolutePercentAgainstInnerSize", 1 << 2),
|
||||||
|
@@ -12,7 +12,7 @@ package com.facebook.yoga;
|
|||||||
public enum YogaErrata {
|
public enum YogaErrata {
|
||||||
NONE(0),
|
NONE(0),
|
||||||
STRETCH_FLEX_BASIS(1),
|
STRETCH_FLEX_BASIS(1),
|
||||||
ABSOLUTE_POSITIONING(2),
|
ABSOLUTE_POSITIONING_INCORRECT(2),
|
||||||
ABSOLUTE_PERCENT_AGAINST_INNER_SIZE(4),
|
ABSOLUTE_PERCENT_AGAINST_INNER_SIZE(4),
|
||||||
ALL(2147483647),
|
ALL(2147483647),
|
||||||
CLASSIC(2147483646);
|
CLASSIC(2147483646);
|
||||||
@@ -31,7 +31,7 @@ public enum YogaErrata {
|
|||||||
switch (value) {
|
switch (value) {
|
||||||
case 0: return NONE;
|
case 0: return NONE;
|
||||||
case 1: return STRETCH_FLEX_BASIS;
|
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 4: return ABSOLUTE_PERCENT_AGAINST_INNER_SIZE;
|
||||||
case 2147483647: return ALL;
|
case 2147483647: return ALL;
|
||||||
case 2147483646: return CLASSIC;
|
case 2147483646: return CLASSIC;
|
||||||
|
@@ -50,7 +50,7 @@ export enum Edge {
|
|||||||
export enum Errata {
|
export enum Errata {
|
||||||
None = 0,
|
None = 0,
|
||||||
StretchFlexBasis = 1,
|
StretchFlexBasis = 1,
|
||||||
AbsolutePositioning = 2,
|
AbsolutePositioningIncorrect = 2,
|
||||||
AbsolutePercentAgainstInnerSize = 4,
|
AbsolutePercentAgainstInnerSize = 4,
|
||||||
All = 2147483647,
|
All = 2147483647,
|
||||||
Classic = 2147483646,
|
Classic = 2147483646,
|
||||||
@@ -161,7 +161,7 @@ const constants = {
|
|||||||
EDGE_ALL: Edge.All,
|
EDGE_ALL: Edge.All,
|
||||||
ERRATA_NONE: Errata.None,
|
ERRATA_NONE: Errata.None,
|
||||||
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
ERRATA_STRETCH_FLEX_BASIS: Errata.StretchFlexBasis,
|
||||||
ERRATA_ABSOLUTE_POSITIONING: Errata.AbsolutePositioning,
|
ERRATA_ABSOLUTE_POSITIONING_INCORRECT: Errata.AbsolutePositioningIncorrect,
|
||||||
ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,
|
ERRATA_ABSOLUTE_PERCENT_AGAINST_INNER_SIZE: Errata.AbsolutePercentAgainstInnerSize,
|
||||||
ERRATA_ALL: Errata.All,
|
ERRATA_ALL: Errata.All,
|
||||||
ERRATA_CLASSIC: Errata.Classic,
|
ERRATA_CLASSIC: Errata.Classic,
|
||||||
|
@@ -95,8 +95,8 @@ const char* YGErrataToString(const YGErrata value) {
|
|||||||
return "none";
|
return "none";
|
||||||
case YGErrataStretchFlexBasis:
|
case YGErrataStretchFlexBasis:
|
||||||
return "stretch-flex-basis";
|
return "stretch-flex-basis";
|
||||||
case YGErrataAbsolutePositioning:
|
case YGErrataAbsolutePositioningIncorrect:
|
||||||
return "absolute-positioning";
|
return "absolute-positioning-incorrect";
|
||||||
case YGErrataAbsolutePercentAgainstInnerSize:
|
case YGErrataAbsolutePercentAgainstInnerSize:
|
||||||
return "absolute-percent-against-inner-size";
|
return "absolute-percent-against-inner-size";
|
||||||
case YGErrataAll:
|
case YGErrataAll:
|
||||||
|
@@ -56,7 +56,7 @@ YG_ENUM_DECL(
|
|||||||
YGErrata,
|
YGErrata,
|
||||||
YGErrataNone = 0,
|
YGErrataNone = 0,
|
||||||
YGErrataStretchFlexBasis = 1,
|
YGErrataStretchFlexBasis = 1,
|
||||||
YGErrataAbsolutePositioning = 2,
|
YGErrataAbsolutePositioningIncorrect = 2,
|
||||||
YGErrataAbsolutePercentAgainstInnerSize = 4,
|
YGErrataAbsolutePercentAgainstInnerSize = 4,
|
||||||
YGErrataAll = 2147483647,
|
YGErrataAll = 2147483647,
|
||||||
YGErrataClassic = 2147483646)
|
YGErrataClassic = 2147483646)
|
||||||
|
@@ -261,24 +261,25 @@ static void positionAbsoluteChild(
|
|||||||
const bool isMainAxis,
|
const bool isMainAxis,
|
||||||
const float containingBlockWidth,
|
const float containingBlockWidth,
|
||||||
const float containingBlockHeight) {
|
const float containingBlockHeight) {
|
||||||
child->hasErrata(Errata::AbsolutePositioning) ? positionAbsoluteChildLegacy(
|
child->hasErrata(Errata::AbsolutePositioningIncorrect)
|
||||||
containingNode,
|
? positionAbsoluteChildLegacy(
|
||||||
parent,
|
containingNode,
|
||||||
child,
|
parent,
|
||||||
direction,
|
child,
|
||||||
axis,
|
direction,
|
||||||
isMainAxis,
|
axis,
|
||||||
containingBlockWidth,
|
isMainAxis,
|
||||||
containingBlockHeight)
|
containingBlockWidth,
|
||||||
: positionAbsoluteChildImpl(
|
containingBlockHeight)
|
||||||
containingNode,
|
: positionAbsoluteChildImpl(
|
||||||
parent,
|
containingNode,
|
||||||
child,
|
parent,
|
||||||
direction,
|
child,
|
||||||
axis,
|
direction,
|
||||||
isMainAxis,
|
axis,
|
||||||
containingBlockWidth,
|
isMainAxis,
|
||||||
containingBlockHeight);
|
containingBlockWidth,
|
||||||
|
containingBlockHeight);
|
||||||
}
|
}
|
||||||
|
|
||||||
void layoutAbsoluteChild(
|
void layoutAbsoluteChild(
|
||||||
|
@@ -18,7 +18,7 @@ namespace facebook::yoga {
|
|||||||
enum class Errata : uint32_t {
|
enum class Errata : uint32_t {
|
||||||
None = YGErrataNone,
|
None = YGErrataNone,
|
||||||
StretchFlexBasis = YGErrataStretchFlexBasis,
|
StretchFlexBasis = YGErrataStretchFlexBasis,
|
||||||
AbsolutePositioning = YGErrataAbsolutePositioning,
|
AbsolutePositioningIncorrect = YGErrataAbsolutePositioningIncorrect,
|
||||||
AbsolutePercentAgainstInnerSize = YGErrataAbsolutePercentAgainstInnerSize,
|
AbsolutePercentAgainstInnerSize = YGErrataAbsolutePercentAgainstInnerSize,
|
||||||
All = YGErrataAll,
|
All = YGErrataAll,
|
||||||
Classic = YGErrataClassic,
|
Classic = YGErrataClassic,
|
||||||
|
Reference in New Issue
Block a user