Index: Source/core/css/resolver/StyleBuilderConverter.cpp |
diff --git a/Source/core/css/resolver/StyleBuilderConverter.cpp b/Source/core/css/resolver/StyleBuilderConverter.cpp |
index a0b7c0ddee2fc658775701d0d9019fa6b02ba19b..6727a79672b74a11823ca0f985bb8e021ce1eb87 100644 |
--- a/Source/core/css/resolver/StyleBuilderConverter.cpp |
+++ b/Source/core/css/resolver/StyleBuilderConverter.cpp |
@@ -338,6 +338,43 @@ EGlyphOrientation StyleBuilderConverter::convertGlyphOrientation(StyleResolverSt |
return GO_270DEG; |
} |
+GridAutoFlow StyleBuilderConverter::convertGridAutoFlow(StyleResolverState&, CSSValue* value) |
+{ |
+ CSSValueList* list = toCSSValueList(value); |
+ |
+ ASSERT(list->length() >= 1); |
+ CSSPrimitiveValue* first = toCSSPrimitiveValue(list->item(0)); |
+ CSSPrimitiveValue* second = list->length() == 2 ? toCSSPrimitiveValue(list->item(1)) : nullptr; |
+ |
+ switch (first->getValueID()) { |
+ case CSSValueRow: |
+ if (second) { |
+ if (second->getValueID() == CSSValueDense) |
+ return AutoFlowRowDense; |
+ return AutoFlowStackRow; |
+ } |
+ return AutoFlowRow; |
+ case CSSValueColumn: |
+ if (second) { |
+ if (second->getValueID() == CSSValueDense) |
+ return AutoFlowColumnDense; |
+ return AutoFlowStackColumn; |
+ } |
+ return AutoFlowColumn; |
+ case CSSValueDense: |
+ if (second && second->getValueID() == CSSValueColumn) |
+ return AutoFlowColumnDense; |
+ return AutoFlowRowDense; |
+ case CSSValueStack: |
+ if (second && second->getValueID() == CSSValueColumn) |
+ return AutoFlowStackColumn; |
+ return AutoFlowStackRow; |
+ default: |
+ ASSERT_NOT_REACHED(); |
+ return RenderStyle::initialGridAutoFlow(); |
+ } |
+} |
+ |
GridPosition StyleBuilderConverter::convertGridPosition(StyleResolverState&, CSSValue* value) |
{ |
// We accept the specification's grammar: |