| Index: Source/core/css/parser/CSSPropertyParser.cpp
|
| diff --git a/Source/core/css/parser/CSSPropertyParser.cpp b/Source/core/css/parser/CSSPropertyParser.cpp
|
| index ce1cf8d1247902b8c16b7aaf9267437e21f48118..7c87e4d8ff0113e5722eadc072bd2242467b5014 100644
|
| --- a/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -120,6 +120,8 @@ bool CSSPropertyParser::parseValue(CSSPropertyID property, bool important,
|
| CSSParserValueList* valueList, const CSSParserContext& context, bool inViewport,
|
| WillBeHeapVector<CSSProperty, 256>& parsedProperties, CSSRuleSourceData::Type ruleType)
|
| {
|
| + int parsedPropertiesSize = parsedProperties.size();
|
| +
|
| CSSPropertyParser parser(valueList, context, inViewport, parsedProperties, ruleType);
|
| bool parseSuccess = parser.parseValue(property, important);
|
|
|
| @@ -127,6 +129,9 @@ bool CSSPropertyParser::parseValue(CSSPropertyID property, bool important,
|
| if (parseSuccess && context.useCounter())
|
| context.useCounter()->count(context, property);
|
|
|
| + if (!parseSuccess)
|
| + parser.rollbackLastProperties(parsedProperties.size() - parsedPropertiesSize);
|
| +
|
| return parseSuccess;
|
| }
|
|
|
|
|