| Index: Source/core/css/parser/CSSPropertyParser.cpp
|
| diff --git a/Source/core/css/parser/CSSPropertyParser.cpp b/Source/core/css/parser/CSSPropertyParser.cpp
|
| index 119ea6bf959ffa64c81bf48d7c10d1bf913d9a73..bf84ef6f726aee064349217d260629b100ec4be2 100644
|
| --- a/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -3613,6 +3613,17 @@ PassRefPtrWillBeRawPtr<CSSPrimitiveValue> CSSPropertyParser::parseGridBreadth(CS
|
| return createPrimitiveNumericValue(currentValue);
|
| }
|
|
|
| +static bool containsOnlyDots(const String& string)
|
| +{
|
| + ASSERT(!string.isEmpty());
|
| + StringImpl& text = *string.impl();
|
| + for (unsigned i = 0; i < text.length(); ++i) {
|
| + if (text[i] != '.')
|
| + return false;
|
| + }
|
| + return true;
|
| +}
|
| +
|
| bool CSSPropertyParser::parseGridTemplateAreasRow(NamedGridAreaMap& gridAreaMap, const size_t rowCount, size_t& columnCount)
|
| {
|
| CSSParserValue* currentValue = m_valueList->current();
|
| @@ -3638,7 +3649,7 @@ bool CSSPropertyParser::parseGridTemplateAreasRow(NamedGridAreaMap& gridAreaMap,
|
| const String& gridAreaName = columnNames[currentCol];
|
|
|
| // Unamed areas are always valid (we consider them to be 1x1).
|
| - if (gridAreaName == ".")
|
| + if (containsOnlyDots(gridAreaName))
|
| continue;
|
|
|
| // We handle several grid areas with the same name at once to simplify the validation code.
|
|
|