| Index: third_party/WebKit/Source/core/animation/SizeInterpolationFunctions.cpp | 
| diff --git a/third_party/WebKit/Source/core/animation/SizeInterpolationFunctions.cpp b/third_party/WebKit/Source/core/animation/SizeInterpolationFunctions.cpp | 
| index 5998eba4b788c1297d9f8111c15d830b81c50bf9..6b5783843ed14d9f993cde53d74336ee8dd8020a 100644 | 
| --- a/third_party/WebKit/Source/core/animation/SizeInterpolationFunctions.cpp | 
| +++ b/third_party/WebKit/Source/core/animation/SizeInterpolationFunctions.cpp | 
| @@ -6,6 +6,7 @@ | 
|  | 
| #include "core/animation/LengthInterpolationFunctions.h" | 
| #include "core/animation/UnderlyingValueOwner.h" | 
| +#include "core/css/CSSIdentifierValue.h" | 
| #include "core/css/CSSToLengthConversionData.h" | 
| #include "core/css/CSSValuePair.h" | 
|  | 
| @@ -90,16 +91,15 @@ InterpolationValue SizeInterpolationFunctions::maybeConvertCSSSizeSide(const CSS | 
| if (value.isValuePair()) { | 
| const CSSValuePair& pair = toCSSValuePair(value); | 
| const CSSValue& side = convertWidth ? pair.first() : pair.second(); | 
| -        if (side.isPrimitiveValue() && toCSSPrimitiveValue(side).getValueID() == CSSValueAuto) | 
| +        if (side.isIdentifierValue() && toCSSIdentifierValue(side).getValueID() == CSSValueAuto) | 
| return convertKeyword(CSSValueAuto); | 
| return wrapConvertedLength(LengthInterpolationFunctions::maybeConvertCSSValue(side)); | 
| } | 
|  | 
| -    if (!value.isPrimitiveValue()) | 
| +    if (!value.isIdentifierValue() && !value.isPrimitiveValue()) | 
| return nullptr; | 
| -    CSSValueID keyword = toCSSPrimitiveValue(value).getValueID(); | 
| -    if (keyword) | 
| -        return convertKeyword(keyword); | 
| +    if (value.isIdentifierValue()) | 
| +        return convertKeyword(toCSSIdentifierValue(value).getValueID()); | 
|  | 
| // A single length is equivalent to "<length> auto". | 
| if (convertWidth) | 
|  |