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

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

Issue 2021683002: [css-grid] Positioned items can be placed on the implicit grid (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1f6134ef5cd7a7ffda42b0deb12e13ec57ba2144..31f4c83d3c12ef55830b7c4bc54de343c753fb33 100644
--- a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
+++ b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp
@@ -1710,18 +1710,16 @@ void LayoutGrid::offsetAndBreadthForPositionedChild(const LayoutBox& child, Grid
GridPosition startPosition = isForColumns ? child.style()->gridColumnStart() : child.style()->gridRowStart();
GridPosition endPosition = isForColumns ? child.style()->gridColumnEnd() : child.style()->gridRowEnd();
- int firstExplicitLine = smallestStart;
- size_t autoRepeatCount = autoRepeatCountForDirection(direction);
- int lastExplicitLine = (isForColumns ? GridPositionsResolver::explicitGridColumnCount(styleRef(), autoRepeatCount) : GridPositionsResolver::explicitGridRowCount(styleRef(), autoRepeatCount)) + smallestStart;
+ int lastLine = isForColumns ? gridColumnCount() : gridRowCount();
bool startIsAuto = startPosition.isAuto()
|| (startPosition.isNamedGridArea() && !NamedLineCollection::isValidNamedLineOrArea(startPosition.namedGridLine(), styleRef(), GridPositionsResolver::initialPositionSide(direction)))
- || (startLine < firstExplicitLine)
- || (startLine > lastExplicitLine);
+ || (startLine < 0)
+ || (startLine > lastLine);
bool endIsAuto = endPosition.isAuto()
|| (endPosition.isNamedGridArea() && !NamedLineCollection::isValidNamedLineOrArea(endPosition.namedGridLine(), styleRef(), GridPositionsResolver::finalPositionSide(direction)))
- || (endLine < firstExplicitLine)
- || (endLine > lastExplicitLine);
+ || (endLine < 0)
+ || (endLine > lastLine);
LayoutUnit start;
if (!startIsAuto) {
@@ -1747,7 +1745,7 @@ void LayoutGrid::offsetAndBreadthForPositionedChild(const LayoutBox& child, Grid
}
// These vectors store line positions including gaps, but we shouldn't consider them for the edges of the grid.
- if (endLine > firstExplicitLine && endLine < lastExplicitLine) {
+ if (endLine > 0 && endLine < lastLine) {
end -= guttersSize(direction, 2);
end -= isForColumns ? m_offsetBetweenColumns : m_offsetBetweenRows;
}
@@ -1764,7 +1762,7 @@ void LayoutGrid::offsetAndBreadthForPositionedChild(const LayoutBox& child, Grid
} else {
offset = translateRTLCoordinate(m_columnPositions[endLine]) - borderLogicalLeft();
- if (endLine > firstExplicitLine && endLine < lastExplicitLine) {
+ if (endLine > 0 && endLine < lastLine) {
offset += guttersSize(direction, 2);
offset += isForColumns ? m_offsetBetweenColumns : m_offsetBetweenRows;
}
« no previous file with comments | « third_party/WebKit/LayoutTests/fast/css-grid-layout/grid-positioned-items-within-grid-implicit-track.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698