| Index: Source/core/css/parser/CSSPropertyParser.cpp
|
| diff --git a/Source/core/css/parser/CSSPropertyParser.cpp b/Source/core/css/parser/CSSPropertyParser.cpp
|
| index a2c0284fe3123bdd4d58ec7ee5725aaa0873869b..dcd0b1eff4977d7204e226f2c1a152bcf5d75f3e 100644
|
| --- a/Source/core/css/parser/CSSPropertyParser.cpp
|
| +++ b/Source/core/css/parser/CSSPropertyParser.cpp
|
| @@ -1616,6 +1616,15 @@ bool CSSPropertyParser::parseValue(CSSPropertyID propId, bool important)
|
| case CSSPropertyPerspectiveOrigin:
|
| case CSSPropertyTransformOrigin:
|
| return false;
|
| +
|
| + case CSSPropertyAll:
|
| + // FIXME: need to add CSSValueUnset here.
|
| + if (id == CSSValueInitial || id == CSSValueInherit) {
|
| + validPrimitive = true;
|
| + break;
|
| + }
|
| + return false;
|
| +
|
| default:
|
| return parseSVGValue(propId, important);
|
| }
|
| @@ -3089,13 +3098,14 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSPropertyParser::parseAnimationProperty(Anima
|
| CSSParserValue* value = m_valueList->current();
|
| if (value->unit != CSSPrimitiveValue::CSS_IDENT)
|
| return nullptr;
|
| - CSSPropertyID result = cssPropertyID(value->string);
|
| - if (result && RuntimeCSSEnabled::isCSSPropertyEnabled(result))
|
| - return cssValuePool().createIdentifierValue(result);
|
| + // We should treat "all" as CSSValue here.
|
| if (equalIgnoringCase(value, "all")) {
|
| context.sawAnimationPropertyKeyword();
|
| return cssValuePool().createIdentifierValue(CSSValueAll);
|
| }
|
| + CSSPropertyID result = cssPropertyID(value->string);
|
| + if (result && RuntimeCSSEnabled::isCSSPropertyEnabled(result))
|
| + return cssValuePool().createIdentifierValue(result);
|
| if (equalIgnoringCase(value, "none")) {
|
| context.commitAnimationPropertyKeyword();
|
| context.sawAnimationPropertyKeyword();
|
| @@ -7033,7 +7043,9 @@ bool CSSPropertyParser::parseWillChange(bool important)
|
|
|
| CSSPropertyID property = cssPropertyID(currentValue->string);
|
| if (property && RuntimeCSSEnabled::isCSSPropertyEnabled(property)) {
|
| - if (property == CSSPropertyWillChange)
|
| + // Now "all" is used by both CSSValue and CSSPropertyValue.
|
| + // Need to return false when currentValue is CSSPropertyAll.
|
| + if (property == CSSPropertyWillChange || property == CSSPropertyAll)
|
| return false;
|
| values->append(cssValuePool().createIdentifierValue(property));
|
| } else {
|
|
|