| Index: third_party/WebKit/Source/core/css/StylePropertySerializer.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp b/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp
|
| index a76a1554d9fec5f8919fe1a71449326667e1cc6e..8192c4d02194a8ba8d6b19a852c3a5f3b84ae6b5 100644
|
| --- a/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp
|
| +++ b/third_party/WebKit/Source/core/css/StylePropertySerializer.cpp
|
| @@ -545,6 +545,7 @@ void StylePropertySerializer::appendFontLonghandValueIfNotNormal(CSSPropertyID p
|
| case CSSPropertyFontStretch:
|
| case CSSPropertyFontVariantCaps:
|
| case CSSPropertyFontVariantLigatures:
|
| + case CSSPropertyFontVariantNumeric:
|
| case CSSPropertyFontWeight:
|
| prefix = ' ';
|
| break;
|
| @@ -582,21 +583,28 @@ String StylePropertySerializer::fontValue() const
|
| int fontFamilyPropertyIndex = m_propertySet.findPropertyIndex(CSSPropertyFontFamily);
|
| int fontVariantCapsPropertyIndex = m_propertySet.findPropertyIndex(CSSPropertyFontVariantCaps);
|
| int fontVariantLigaturesPropertyIndex = m_propertySet.findPropertyIndex(CSSPropertyFontVariantLigatures);
|
| + int fontVariantNumericPropertyIndex = m_propertySet.findPropertyIndex(CSSPropertyFontVariantNumeric);
|
| DCHECK_NE(fontSizePropertyIndex, -1);
|
| DCHECK_NE(fontFamilyPropertyIndex, -1);
|
| DCHECK_NE(fontVariantCapsPropertyIndex, -1);
|
| DCHECK_NE(fontVariantLigaturesPropertyIndex, -1);
|
| + DCHECK_NE(fontVariantNumericPropertyIndex, -1);
|
|
|
| PropertyValueForSerializer fontSizeProperty = m_propertySet.propertyAt(fontSizePropertyIndex);
|
| PropertyValueForSerializer fontFamilyProperty = m_propertySet.propertyAt(fontFamilyPropertyIndex);
|
| PropertyValueForSerializer fontVariantCapsProperty = m_propertySet.propertyAt(fontVariantCapsPropertyIndex);
|
| PropertyValueForSerializer fontVariantLigaturesProperty = m_propertySet.propertyAt(fontVariantLigaturesPropertyIndex);
|
| + PropertyValueForSerializer fontVariantNumericProperty = m_propertySet.propertyAt(fontVariantNumericPropertyIndex);
|
|
|
| // Check that non-initial font-variant subproperties are not conflicting with this serialization.
|
| const CSSValue* ligaturesValue = fontVariantLigaturesProperty.value();
|
| + const CSSValue* numericValue = fontVariantNumericProperty.value();
|
| if ((ligaturesValue->isPrimitiveValue()
|
| && toCSSPrimitiveValue(ligaturesValue)->getValueID() != CSSValueNormal)
|
| - || ligaturesValue->isValueList())
|
| + || ligaturesValue->isValueList()
|
| + || (numericValue->isPrimitiveValue()
|
| + && toCSSPrimitiveValue(numericValue)->getValueID() != CSSValueNormal)
|
| + || numericValue->isValueList())
|
| return emptyString();
|
|
|
| String commonValue = fontSizeProperty.value()->cssText();
|
| @@ -640,6 +648,7 @@ String StylePropertySerializer::fontVariantValue() const
|
| String dummyCommonValue;
|
| appendFontLonghandValueIfNotNormal(CSSPropertyFontVariantLigatures, result, dummyCommonValue);
|
| appendFontLonghandValueIfNotNormal(CSSPropertyFontVariantCaps, result, dummyCommonValue);
|
| + appendFontLonghandValueIfNotNormal(CSSPropertyFontVariantNumeric, result, dummyCommonValue);
|
|
|
| if (result.isEmpty()) {
|
| return "normal";
|
|
|