Fix sizing of absolutely positioned nodes inside overflow:hidden parent

Summary:
When an absolutely positioned node appeared inside an overflow:hidden
parent, we were limiting its height. This is inconsistent with how
layout behaves on the web.
Closes https://github.com/facebook/css-layout/pull/218

Reviewed By: lucasr

Differential Revision: D3797285

Pulled By: emilsjolander

fbshipit-source-id: 98f98e77aa26edce86b9882c1cac284799b69a27
This commit is contained in:
Adam Comella
2016-08-31 08:02:44 -07:00
committed by Facebook Github Bot 2
parent d9191431ff
commit b51e832e4e
3 changed files with 38 additions and 19 deletions

View File

@@ -1764,16 +1764,6 @@ static void layoutNodeImpl(const CSSNodeRef node,
childWidthMeasureMode = CSSMeasureModeAtMost;
}
// The W3C spec doesn't say anything about the 'overflow' property,
// but all major browsers appear to implement the following logic.
if (node->style.overflow == CSSOverflowHidden) {
if (isMainAxisRow && CSSValueIsUndefined(childHeight) &&
!CSSValueIsUndefined(availableInnerHeight)) {
childHeight = availableInnerHeight;
childHeightMeasureMode = CSSMeasureModeAtMost;
}
}
layoutNodeInternal(currentAbsoluteChild,
childWidth,
childHeight,