Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(442)

Unified Diff: third_party/WebKit/Source/core/layout/LayoutGrid.cpp

Issue 1375173002: [css-grid] Unknown named grid lines on absolutely positioned items (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698