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

Unified Diff: Source/core/css/resolver/StyleBuilderCustom.cpp

Issue 148293008: [CSS Grid Layout] Add support to place items using named grid lines (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: New approach Created 6 years, 9 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: Source/core/css/resolver/StyleBuilderCustom.cpp
diff --git a/Source/core/css/resolver/StyleBuilderCustom.cpp b/Source/core/css/resolver/StyleBuilderCustom.cpp
index 37b4c59d9c461334cbe025447453b948fe0d738f..0be806eaa6bfade0e589f3653151b068f3c1373f 100644
--- a/Source/core/css/resolver/StyleBuilderCustom.cpp
+++ b/Source/core/css/resolver/StyleBuilderCustom.cpp
@@ -957,7 +957,7 @@ static GridTrackSize createGridTrackSize(CSSValue* value, const StyleResolverSta
return GridTrackSize(minTrackBreadth, maxTrackBreadth);
}
-static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSizes, NamedGridLinesMap& namedGridLines, OrderedNamedGridLines& orderedNamedGridLines, const StyleResolverState& state)
+static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSizes, OrderedNamedGridLines& orderedNamedGridLines, const StyleResolverState& state)
{
// Handle 'none'.
if (value->isPrimitiveValue()) {
@@ -974,11 +974,8 @@ static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSiz
if (currValue->isGridLineNamesValue()) {
CSSGridLineNamesValue* lineNamesValue = toCSSGridLineNamesValue(currValue);
for (CSSValueListIterator j = lineNamesValue; j.hasMore(); j.advance()) {
- String namedGridLine = toCSSPrimitiveValue(j.value())->getStringValue();
- NamedGridLinesMap::AddResult result = namedGridLines.add(namedGridLine, Vector<size_t>());
- result.storedValue->value.append(currentNamedGridLine);
OrderedNamedGridLines::AddResult orderedInsertionResult = orderedNamedGridLines.add(currentNamedGridLine, Vector<String>());
- orderedInsertionResult.storedValue->value.append(namedGridLine);
+ orderedInsertionResult.storedValue->value.append(toCSSPrimitiveValue(j.value())->getStringValue());
}
continue;
}
@@ -1598,48 +1595,42 @@ void StyleBuilder::oldApplyProperty(CSSPropertyID id, StyleResolverState& state,
case CSSPropertyGridTemplateColumns: {
if (isInherit) {
state.style()->setGridTemplateColumns(state.parentStyle()->gridTemplateColumns());
- state.style()->setNamedGridColumnLines(state.parentStyle()->namedGridColumnLines());
state.style()->setOrderedNamedGridColumnLines(state.parentStyle()->orderedNamedGridColumnLines());
return;
}
if (isInitial) {
state.style()->setGridTemplateColumns(RenderStyle::initialGridTemplateColumns());
- state.style()->setNamedGridColumnLines(RenderStyle::initialNamedGridColumnLines());
state.style()->setOrderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines());
return;
}
Vector<GridTrackSize> trackSizes;
- NamedGridLinesMap namedGridLines;
OrderedNamedGridLines orderedNamedGridLines;
- if (!createGridTrackList(value, trackSizes, namedGridLines, orderedNamedGridLines, state))
+ if (!createGridTrackList(value, trackSizes, orderedNamedGridLines, state))
return;
+
state.style()->setGridTemplateColumns(trackSizes);
- state.style()->setNamedGridColumnLines(namedGridLines);
state.style()->setOrderedNamedGridColumnLines(orderedNamedGridLines);
return;
}
case CSSPropertyGridTemplateRows: {
if (isInherit) {
state.style()->setGridTemplateRows(state.parentStyle()->gridTemplateRows());
- state.style()->setNamedGridRowLines(state.parentStyle()->namedGridRowLines());
state.style()->setOrderedNamedGridRowLines(state.parentStyle()->orderedNamedGridRowLines());
return;
}
if (isInitial) {
state.style()->setGridTemplateRows(RenderStyle::initialGridTemplateRows());
- state.style()->setNamedGridRowLines(RenderStyle::initialNamedGridRowLines());
state.style()->setOrderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines());
return;
}
Vector<GridTrackSize> trackSizes;
- NamedGridLinesMap namedGridLines;
OrderedNamedGridLines orderedNamedGridLines;
- if (!createGridTrackList(value, trackSizes, namedGridLines, orderedNamedGridLines, state))
+ if (!createGridTrackList(value, trackSizes, orderedNamedGridLines, state))
return;
+
state.style()->setGridTemplateRows(trackSizes);
- state.style()->setNamedGridRowLines(namedGridLines);
state.style()->setOrderedNamedGridRowLines(orderedNamedGridLines);
return;
}

Powered by Google App Engine
This is Rietveld 408576698