| 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 31f4c83d3c12ef55830b7c4bc54de343c753fb33..29293d47ad8e4fd8f734f1c3629153004dee8472 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
|
| @@ -360,7 +360,7 @@ void LayoutGrid::computeTrackSizesForDirection(GridTrackSizingDirection directio
|
| sizingData.sizingOperation = GridSizingData::TrackSizing;
|
|
|
| LayoutUnit baseSizes, growthLimits;
|
| - computeUsedBreadthOfGridTracks(direction, sizingData, baseSizes, growthLimits, AvailableSpaceDefinite);
|
| + computeUsedBreadthOfGridTracks(direction, sizingData, baseSizes, growthLimits);
|
| ASSERT(tracksAreWiderThanMinTrackBreadth(direction, sizingData));
|
| }
|
|
|
| @@ -451,7 +451,7 @@ void LayoutGrid::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo
|
| GridSizingData sizingData(gridColumnCount(), gridRowCount());
|
| sizingData.freeSpaceForDirection(ForColumns) = LayoutUnit();
|
| sizingData.sizingOperation = GridSizingData::IntrinsicSizeComputation;
|
| - const_cast<LayoutGrid*>(this)->computeUsedBreadthOfGridTracks(ForColumns, sizingData, minLogicalWidth, maxLogicalWidth, AvailableSpaceIndefinite);
|
| + const_cast<LayoutGrid*>(this)->computeUsedBreadthOfGridTracks(ForColumns, sizingData, minLogicalWidth, maxLogicalWidth);
|
|
|
| LayoutUnit totalGuttersSize = guttersSize(ForColumns, sizingData.columnTracks.size());
|
| minLogicalWidth += totalGuttersSize;
|
| @@ -467,7 +467,7 @@ void LayoutGrid::computeIntrinsicLogicalHeight(GridSizingData& sizingData)
|
| ASSERT(tracksAreWiderThanMinTrackBreadth(ForColumns, sizingData));
|
| sizingData.freeSpaceForDirection(ForRows) = LayoutUnit();
|
| sizingData.sizingOperation = GridSizingData::IntrinsicSizeComputation;
|
| - computeUsedBreadthOfGridTracks(ForRows, sizingData, m_minContentHeight, m_maxContentHeight, AvailableSpaceIndefinite);
|
| + computeUsedBreadthOfGridTracks(ForRows, sizingData, m_minContentHeight, m_maxContentHeight);
|
|
|
| LayoutUnit totalGuttersSize = guttersSize(ForRows, gridRowCount());
|
| m_minContentHeight += totalGuttersSize;
|
| @@ -502,7 +502,7 @@ static inline double normalizedFlexFraction(const GridTrack& track, double flexF
|
| return track.baseSize() / std::max<double>(1, flexFactor);
|
| }
|
|
|
| -void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection direction, GridSizingData& sizingData, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaximization, AvailableSpaceType availableSpaceType)
|
| +void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection direction, GridSizingData& sizingData, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaximization)
|
| {
|
| LayoutUnit& freeSpace = sizingData.freeSpaceForDirection(direction);
|
| const LayoutUnit initialFreeSpace = freeSpace;
|
| @@ -512,7 +512,8 @@ void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection directi
|
|
|
| LayoutUnit maxSize = std::max(LayoutUnit(), initialFreeSpace);
|
| // Grid gutters were removed from freeSpace by the caller, but we must use them to compute relative (i.e. percentages) sizes.
|
| - if (availableSpaceType == AvailableSpaceDefinite)
|
| + bool hasDefiniteFreeSpace = sizingData.sizingOperation == GridSizingData::TrackSizing;
|
| + if (hasDefiniteFreeSpace)
|
| maxSize += guttersSize(direction, direction == ForRows ? gridRowCount() : gridColumnCount());
|
|
|
| // 1. Initialize per Grid track variables.
|
| @@ -545,7 +546,6 @@ void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection directi
|
| }
|
| freeSpace = initialFreeSpace - baseSizesWithoutMaximization;
|
|
|
| - bool hasDefiniteFreeSpace = availableSpaceType == AvailableSpaceDefinite;
|
| if (hasDefiniteFreeSpace && freeSpace <= 0)
|
| return;
|
|
|
|
|