| Index: Source/core/css/resolver/StyleBuilderCustom.cpp
|
| diff --git a/Source/core/css/resolver/StyleBuilderCustom.cpp b/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| index 37d1e3af6579d6a7f38a48a2155f1aba9b048277..e9b9c658bd0b43098b9d56e8dea3a3f5316726d6 100644
|
| --- a/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| +++ b/Source/core/css/resolver/StyleBuilderCustom.cpp
|
| @@ -945,10 +945,18 @@ static bool createGridTrackList(CSSValue* value, Vector<GridTrackSize>& trackSiz
|
|
|
| static bool createGridPosition(CSSValue* value, GridPosition& position)
|
| {
|
| - // For now, we only accept: 'auto' | [ <integer> || <string> ] | span && <integer>?
|
| + // We accept the specification's grammar:
|
| + // 'auto' | [ <integer> || <string> ] | [ span && [ <integer> || string ] ] | <ident>
|
|
|
| if (value->isPrimitiveValue()) {
|
| CSSPrimitiveValue* primitiveValue = toCSSPrimitiveValue(value);
|
| + // We translate <ident> to <string> during parsing as it
|
| + // makes handling it more simple.
|
| + if (primitiveValue->isString()) {
|
| + position.setNamedGridArea(primitiveValue->getStringValue());
|
| + return true;
|
| + }
|
| +
|
| ASSERT(primitiveValue->getValueID() == CSSValueAuto);
|
| return true;
|
| }
|
|
|