Skip to content

Commit 1f125e3

Browse files
fred2028Facebook Github Bot
authored andcommitted
Revert D4157971: [csslayout] BREAKING - Fix sizing of container with child overflowing parent
Differential Revision: D4157971 fbshipit-source-id: be055cf018fd39b3cee9af0bc777831fcf757190
1 parent 07c5882 commit 1f125e3

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

React/CSSLayout/CSSLayout.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,27 +2092,23 @@ static void layoutNodeImpl(const CSSNodeRef node,
20922092

20932093
// If the user didn't specify a width or height for the node, set the
20942094
// dimensions based on the children.
2095-
if (measureModeMainDim == CSSMeasureModeUndefined ||
2096-
(node->style.overflow != CSSOverflowScroll && measureModeMainDim == CSSMeasureModeAtMost)) {
2095+
if (measureModeMainDim == CSSMeasureModeUndefined) {
20972096
// Clamp the size to the min/max size, if specified, and make sure it
20982097
// doesn't go below the padding and border amount.
20992098
node->layout.measuredDimensions[dim[mainAxis]] = boundAxis(node, mainAxis, maxLineMainDim);
2100-
} else if (node->style.overflow == CSSOverflowScroll &&
2101-
measureModeMainDim == CSSMeasureModeAtMost) {
2099+
} else if (measureModeMainDim == CSSMeasureModeAtMost) {
21022100
node->layout.measuredDimensions[dim[mainAxis]] =
21032101
fmaxf(fminf(availableInnerMainDim + paddingAndBorderAxisMain,
21042102
boundAxisWithinMinAndMax(node, mainAxis, maxLineMainDim)),
21052103
paddingAndBorderAxisMain);
21062104
}
21072105

2108-
if (measureModeCrossDim == CSSMeasureModeUndefined ||
2109-
(node->style.overflow != CSSOverflowScroll && measureModeCrossDim == CSSMeasureModeAtMost)) {
2106+
if (measureModeCrossDim == CSSMeasureModeUndefined) {
21102107
// Clamp the size to the min/max size, if specified, and make sure it
21112108
// doesn't go below the padding and border amount.
21122109
node->layout.measuredDimensions[dim[crossAxis]] =
21132110
boundAxis(node, crossAxis, totalLineCrossDim + paddingAndBorderAxisCross);
2114-
} else if (node->style.overflow == CSSOverflowScroll &&
2115-
measureModeCrossDim == CSSMeasureModeAtMost) {
2111+
} else if (measureModeCrossDim == CSSMeasureModeAtMost) {
21162112
node->layout.measuredDimensions[dim[crossAxis]] =
21172113
fmaxf(fminf(availableInnerCrossDim + paddingAndBorderAxisCross,
21182114
boundAxisWithinMinAndMax(node,

ReactCommon/CSSLayout/CSSLayout.c

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2092,27 +2092,23 @@ static void layoutNodeImpl(const CSSNodeRef node,
20922092

20932093
// If the user didn't specify a width or height for the node, set the
20942094
// dimensions based on the children.
2095-
if (measureModeMainDim == CSSMeasureModeUndefined ||
2096-
(node->style.overflow != CSSOverflowScroll && measureModeMainDim == CSSMeasureModeAtMost)) {
2095+
if (measureModeMainDim == CSSMeasureModeUndefined) {
20972096
// Clamp the size to the min/max size, if specified, and make sure it
20982097
// doesn't go below the padding and border amount.
20992098
node->layout.measuredDimensions[dim[mainAxis]] = boundAxis(node, mainAxis, maxLineMainDim);
2100-
} else if (node->style.overflow == CSSOverflowScroll &&
2101-
measureModeMainDim == CSSMeasureModeAtMost) {
2099+
} else if (measureModeMainDim == CSSMeasureModeAtMost) {
21022100
node->layout.measuredDimensions[dim[mainAxis]] =
21032101
fmaxf(fminf(availableInnerMainDim + paddingAndBorderAxisMain,
21042102
boundAxisWithinMinAndMax(node, mainAxis, maxLineMainDim)),
21052103
paddingAndBorderAxisMain);
21062104
}
21072105

2108-
if (measureModeCrossDim == CSSMeasureModeUndefined ||
2109-
(node->style.overflow != CSSOverflowScroll && measureModeCrossDim == CSSMeasureModeAtMost)) {
2106+
if (measureModeCrossDim == CSSMeasureModeUndefined) {
21102107
// Clamp the size to the min/max size, if specified, and make sure it
21112108
// doesn't go below the padding and border amount.
21122109
node->layout.measuredDimensions[dim[crossAxis]] =
21132110
boundAxis(node, crossAxis, totalLineCrossDim + paddingAndBorderAxisCross);
2114-
} else if (node->style.overflow == CSSOverflowScroll &&
2115-
measureModeCrossDim == CSSMeasureModeAtMost) {
2111+
} else if (measureModeCrossDim == CSSMeasureModeAtMost) {
21162112
node->layout.measuredDimensions[dim[crossAxis]] =
21172113
fmaxf(fminf(availableInnerCrossDim + paddingAndBorderAxisCross,
21182114
boundAxisWithinMinAndMax(node,

0 commit comments

Comments
 (0)