| Index: Source/core/rendering/RenderGrid.cpp
|
| diff --git a/Source/core/rendering/RenderGrid.cpp b/Source/core/rendering/RenderGrid.cpp
|
| index 38c296ac8669087e5dab75dedb5c0781630c582d..6b542c10bb3ba5171e4f98e077efdc5dfb5c68c8 100644
|
| --- a/Source/core/rendering/RenderGrid.cpp
|
| +++ b/Source/core/rendering/RenderGrid.cpp
|
| @@ -487,7 +487,17 @@ const GridTrackSize& RenderGrid::gridTrackSize(GridTrackSizingDirection directio
|
| if (i >= trackStyles.size())
|
| return (direction == ForColumns) ? style()->gridAutoColumns() : style()->gridAutoRows();
|
|
|
| - return trackStyles[i];
|
| + const GridTrackSize& trackSize = trackStyles[i];
|
| + // If the logical width/height of the grid container is indefinite, percentage values are treated as <auto>.
|
| + if (trackSize.isPercentage()) {
|
| + Length logicalSize = direction == ForColumns ? style()->logicalWidth() : style()->logicalHeight();
|
| + if (logicalSize.isIntrinsicOrAuto()) {
|
| + DEFINE_STATIC_LOCAL(GridTrackSize, autoTrackSize, (Auto));
|
| + return autoTrackSize;
|
| + }
|
| + }
|
| +
|
| + return trackSize;
|
| }
|
|
|
| size_t RenderGrid::explicitGridColumnCount() const
|
|
|