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

Unified Diff: third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp

Issue 2080643002: [css-grid] Implement repeat(auto-fit) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Patch for landing v3 Created 4 years, 5 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/css/ComputedStyleCSSValueMapping.cpp
diff --git a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
index 2676b775aa81af3990812fe5e90cedfbdcc1c1b8..ae4ba1fd6cbb8a3239efef6b9faa7b805dbb654d 100644
--- a/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
+++ b/third_party/WebKit/Source/core/css/ComputedStyleCSSValueMapping.cpp
@@ -843,22 +843,16 @@ static CSSValue* valueForGridTrackList(GridTrackSizingDirection direction, const
size_t insertionIndex;
if (isLayoutGrid) {
const auto* grid = toLayoutGrid(layoutObject);
- const Vector<LayoutUnit>& trackPositions = direction == ForColumns ? grid->columnPositions() : grid->rowPositions();
- // There are at least #tracks + 1 grid lines (trackPositions). Apart from that, the grid container can generate implicit grid tracks,
- // so we'll have more trackPositions than trackSizes as the latter only contain the explicit grid.
- ASSERT(trackPositions.size() - 1 >= trackSizes.size());
-
- size_t i;
- LayoutUnit gutterSize = grid->guttersSize(direction, 2);
- LayoutUnit offsetBetweenTracks = grid->offsetBetweenTracks(direction);
- for (i = 0; i < trackPositions.size() - 2; ++i) {
+ Vector<LayoutUnit> computedTrackSizes = grid->trackSizesForComputedStyle(direction);
+ size_t numTracks = computedTrackSizes.size();
+
+ for (size_t i = 0; i < numTracks; ++i) {
addValuesForNamedGridLinesAtIndex(collector, i, *list);
- list->append(*zoomAdjustedPixelValue(trackPositions[i + 1] - trackPositions[i] - gutterSize - offsetBetweenTracks, style));
+ list->append(*zoomAdjustedPixelValue(computedTrackSizes[i], style));
}
- // Last track line does not have any gutter or distribution offset.
- addValuesForNamedGridLinesAtIndex(collector, i, *list);
- list->append(*zoomAdjustedPixelValue(trackPositions[i + 1] - trackPositions[i], style));
- insertionIndex = trackPositions.size() - 1;
+ addValuesForNamedGridLinesAtIndex(collector, numTracks + 1, *list);
+
+ insertionIndex = numTracks;
} else {
for (size_t i = 0; i < trackSizes.size(); ++i) {
addValuesForNamedGridLinesAtIndex(collector, i, *list);

Powered by Google App Engine
This is Rietveld 408576698