Make positionAbsoluteChild the sole place that matters when determining absolute node's position (#1481)
Summary: Pull Request resolved: https://github.com/facebook/yoga/pull/1481 X-link: https://github.com/facebook/react-native/pull/41684 Absolute nodes can be laid out by themselves and do not have to care about what is happening to their siblings. Because of this we can make `positionAbsoluteChild` the sole place where we handle this logic. Right now that is scattered around algorithm with many `if (child is absolute)` cases everywhere. This makes implementing position static a lot harder since we are relying on the CB to do all this work, not the parent. With this change the only time we set position for an absolute node and it matter (i.e. not overwritten) is in `positionAbsoluteChild` Reviewed By: NickGerleman Differential Revision: D51290723 fbshipit-source-id: 405d81b1d28826cbb0323dc117c406a44d381dff
This commit is contained in:
committed by
Facebook GitHub Bot
parent
c93734f579
commit
1b146cd8a8
3
enums.py
3
enums.py
@@ -72,6 +72,9 @@ ENUMS = {
|
||||
("StartingEndingEdgeFromFlexDirection", 1 << 1),
|
||||
# Position: static behaves like position: relative within Yoga
|
||||
("PositionStaticBehavesLikeRelative", 1 << 2),
|
||||
# Positioning of absolute nodes will have various bugs related to
|
||||
# justification, alignment, and insets
|
||||
("AbsolutePositioning", 1 << 3),
|
||||
# Enable all incorrect behavior (preserve compatibility)
|
||||
("All", 0x7FFFFFFF),
|
||||
# Enable all errata except for "StretchFlexBasis" (Defaults behavior
|
||||
|
Reference in New Issue
Block a user