| Index: third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| index 4d6fce9fad9c21fde56a27f144d9dd13c3342e93..912f7e78af937a143ed0f737bc6f76e9dba991b7 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| @@ -484,16 +484,10 @@ void LayoutGrid::layoutBlock(bool relayoutChildren)
|
| LayoutUnit oldClientAfterEdge = clientLogicalBottom();
|
| updateLogicalHeight();
|
|
|
| - // The above call might have changed the grid's logical height depending on min|max height restrictions.
|
| - // Update the sizes of the rows whose size depends on the logical height (also on definite|indefinite sizes).
|
| - LayoutUnit availableSpaceForRows = contentLogicalHeight();
|
| - if (!cachedHasDefiniteLogicalHeight())
|
| - computeTrackSizesForDirection(ForRows, sizingData, availableSpaceForRows);
|
| -
|
| // 3- If the min-content contribution of any grid items have changed based on the row
|
| // sizes calculated in step 2, steps 1 and 2 are repeated with the new min-content
|
| // contribution (once only).
|
| - repeatTracksSizingIfNeeded(sizingData, availableSpaceForColumns, availableSpaceForRows);
|
| + repeatTracksSizingIfNeeded(sizingData, availableSpaceForColumns, contentLogicalHeight());
|
|
|
| // Grid container should have the minimum height of a line if it's editable. That doesn't affect track sizing though.
|
| if (hasLineIfEmpty())
|
| @@ -623,6 +617,7 @@ void LayoutGrid::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
|
|
|
| void LayoutGrid::computeIntrinsicLogicalHeight(GridSizingData& sizingData)
|
| {
|
| + DCHECK(sizingData.isValidTransition(ForRows));
|
| ASSERT(tracksAreWiderThanMinTrackBreadth(ForColumns, sizingData));
|
| sizingData.setAvailableSpace(LayoutUnit());
|
| sizingData.freeSpace(ForRows) = LayoutUnit();
|
| @@ -634,6 +629,8 @@ void LayoutGrid::computeIntrinsicLogicalHeight(GridSizingData& sizingData)
|
| m_maxContentHeight += totalGuttersSize;
|
|
|
| ASSERT(tracksAreWiderThanMinTrackBreadth(ForRows, sizingData));
|
| + sizingData.nextState();
|
| + sizingData.sizingOperation = TrackSizing;
|
| }
|
|
|
| LayoutUnit LayoutGrid::computeIntrinsicLogicalContentHeightUsing(const Length& logicalHeightLength, LayoutUnit intrinsicContentHeight, LayoutUnit borderAndPadding) const
|
| @@ -1892,6 +1889,7 @@ void LayoutGrid::applyStretchAlignmentToTracksIfNeeded(GridTrackSizingDirection
|
|
|
| void LayoutGrid::layoutGridItems(GridSizingData& sizingData)
|
| {
|
| + DCHECK_EQ(sizingData.sizingOperation, TrackSizing);
|
| populateGridPositionsForDirection(sizingData, ForColumns);
|
| populateGridPositionsForDirection(sizingData, ForRows);
|
| m_gridItemsOverflowingGridArea.resize(0);
|
|
|