Commit 155c1f2b authored by Christian Biesinger's avatar Christian Biesinger Committed by Commit Bot

[css-flexbox] Apply min-height: auto to nested flexboxes again

This was made possible by crrev.com/c/1283482, which avoids the
performance and correctness issues this previously caused.

This relands crrev.com/c/1246730 / crrev.com/c/1252682. The ChromeOS UI
breakage was fixed by crrev.com/c/1281726 and crrev.com/c/1282462

IF THIS BREAKS ANY FURTHER CHROME UI:
Please don't revert this patch; instead, add min-height: 0 to any
inner nested flexboxes that may be affected by this patch. This is
an important change for web interop with the other browsers.

Bug: 596743
Change-Id: I9afe54dce82d41da452d1fdca8150ca22ebb6f9c
Reviewed-on: https://chromium-review.googlesource.com/c/1269235
Commit-Queue: Christian Biesinger <cbiesinger@chromium.org>
Reviewed-by: default avatarMorten Stenshorne <mstensho@chromium.org>
Cr-Commit-Position: refs/heads/master@{#601540}
parent fbd94830
......@@ -1512,6 +1512,7 @@ crbug.com/249112 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/fle
crbug.com/467127 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-height-flex-items-008.xht [ Skip ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-height-flex-items-009.html [ Skip ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-height-flex-items-010.html [ Skip ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-height-flex-items-011.xht [ Skip ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-width-flex-items-001.xht [ Failure ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-width-flex-items-002.xht [ Failure ]
crbug.com/591099 virtual/layout_ng_experimental/external/wpt/css/css-flexbox/flex-minimum-width-flex-items-003.xht [ Failure ]
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Flexible Box Test: Minimum height of flex items</title>
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com" />
<link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#min-size-auto" title="4.5. Implied Minimum Size of Flex Items" />
<link rel="match" href="../reference/ref-filled-green-100px-square.xht" />
<meta name="assert" content="Checks that minimum height for flex items is the min-content size." />
<style type="text/css"><![CDATA[
#reference-overlapped-red {
position: absolute;
background-color: red;
width: 100px;
height: 100px;
z-index: -1;
}
#constrained-flex {
display: flex;
flex-direction: column;
width: 100px;
height: 10px;
}
#test-flex-item-overlapping-green {
display: flex;
flex-basis: 0;
color: green;
background-color: green;
font: 50px/1 Ahem;
}
#content-100x100 {
width: 100px;
height: 100px;
}
]]></style>
</head>
<body>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div id="reference-overlapped-red"></div>
<div id="constrained-flex">
<div id="test-flex-item-overlapping-green">
<div id="content-100x100"></div>
</div>
</div>
</body>
</html>
......@@ -443,15 +443,11 @@ FlexLayoutAlgorithm::ContentAlignmentNormalBehavior() {
bool FlexLayoutAlgorithm::ShouldApplyMinSizeAutoForChild(
const LayoutBox& child) const {
// TODO(cbiesinger): For now, we do not handle min-height: auto for nested
// column flexboxes. See crbug.com/596743
// css-flexbox section 4.5
Length min = IsHorizontalFlow() ? child.StyleRef().MinWidth()
: child.StyleRef().MinHeight();
return min.IsAuto() && !child.ShouldApplySizeContainment() &&
MainAxisOverflowForChild(child) == EOverflow::kVisible &&
!(IsColumnFlow() && child.IsFlexibleBox());
MainAxisOverflowForChild(child) == EOverflow::kVisible;
}
TransformedWritingMode FlexLayoutAlgorithm::GetTransformedWritingMode() const {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment