Chromium Code Reviews| 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 333728c46d3428d185ed5c5885f913345cddce32..e621270713097f953f01118d35676c28d7088935 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| @@ -1404,7 +1404,6 @@ void LayoutGrid::layoutPositionedObjects(bool relayoutChildren, PositionedLayout |
| continue; |
| } |
| - // FIXME: Detect properly if start/end is auto for inexistent named grid lines. |
| LayoutUnit columnOffset = LayoutUnit(); |
| LayoutUnit columnBreadth = LayoutUnit(); |
| offsetAndBreadthForPositionedChild(*child, ForColumns, columnOffset, columnBreadth); |
| @@ -1432,8 +1431,10 @@ void LayoutGrid::offsetAndBreadthForPositionedChild(const LayoutBox& child, Grid |
| return; |
| } |
| - bool startIsAuto = (direction == ForColumns) ? child.style()->gridColumnStart().isAuto() : child.style()->gridRowStart().isAuto(); |
| - bool endIsAuto = (direction == ForColumns) ? child.style()->gridColumnEnd().isAuto() : child.style()->gridRowEnd().isAuto(); |
| + GridPosition startPosition = (direction == ForColumns) ? child.style()->gridColumnStart() : child.style()->gridRowStart(); |
| + GridPosition endPosition = (direction == ForColumns) ? child.style()->gridColumnEnd() : child.style()->gridRowEnd(); |
| + bool startIsAuto = startPosition.isAuto() || (startPosition.isNamedGridArea() && !GridResolvedPosition::isValidNamedLineOrArea(startPosition.namedGridLine(), *style(), GridResolvedPosition::calculateInitialPositionSide(direction))); |
|
cbiesinger
2015/09/30 15:23:32
you can use styleRef() instead of *style()
Manuel Rego
2015/09/30 19:49:59
Done.
|
| + bool endIsAuto = endPosition.isAuto() || (endPosition.isNamedGridArea() && !GridResolvedPosition::isValidNamedLineOrArea(endPosition.namedGridLine(), *style(), GridResolvedPosition::calculateFinalPositionSide(direction))); |
| GridResolvedPosition firstPosition = GridResolvedPosition(0); |
| GridResolvedPosition initialPosition = startIsAuto ? firstPosition : positions->resolvedInitialPosition; |