Chromium Code Reviews| Index: third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
| diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
| index 0d7831851de29b1a45bbdefb94e17597fb4fbfbc..8d299b2fc977dc7af622f9044ebf048c4631ba17 100644 |
| --- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
| +++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp |
| @@ -338,6 +338,49 @@ FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigat |
| return FontDescription::VariantLigatures(); |
| } |
| +FontVariantNumeric StyleBuilderConverter::convertFontVariantNumeric(StyleResolverState&, const CSSValue& value) |
| +{ |
| + if (value.isPrimitiveValue()) { |
| + ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNormal); |
| + return FontVariantNumeric(); |
| + } |
| + |
| + ASSERT_WITH_SECURITY_IMPLICATION(value.isValueList()); |
|
Timothy Loh
2016/05/11 06:47:26
No need to write this, toCSSValueList has this ass
drott
2016/05/11 08:10:46
Assertion removed.
|
| + FontVariantNumeric variantNumeric; |
| + for (const CSSValue* feature : toCSSValueList(value)) { |
| + switch (toCSSPrimitiveValue(feature)->getValueID()) { |
| + case CSSValueLiningNums: |
| + variantNumeric.setNumericFigure(FontVariantNumeric::LiningNums); |
| + break; |
| + case CSSValueOldstyleNums: |
| + variantNumeric.setNumericFigure(FontVariantNumeric::OldstyleNums); |
| + break; |
| + case CSSValueProportionalNums: |
| + variantNumeric.setNumericSpacing(FontVariantNumeric::ProportionalNums); |
| + break; |
| + case CSSValueTabularNums: |
| + variantNumeric.setNumericSpacing(FontVariantNumeric::TabularNums); |
| + break; |
| + case CSSValueDiagonalFractions: |
| + variantNumeric.setNumericFraction(FontVariantNumeric::DiagonalFractions); |
| + break; |
| + case CSSValueStackedFractions: |
| + variantNumeric.setNumericFraction(FontVariantNumeric::StackedFractions); |
| + break; |
| + case CSSValueOrdinal: |
| + variantNumeric.setOrdinal(FontVariantNumeric::OrdinalOn); |
| + break; |
| + case CSSValueSlashedZero: |
| + variantNumeric.setSlashedZero(FontVariantNumeric::SlashedZeroOn); |
| + break; |
| + default: |
| + ASSERT_NOT_REACHED(); |
| + break; |
| + } |
| + } |
| + return variantNumeric; |
| +} |
| + |
| StyleSelfAlignmentData StyleBuilderConverter::convertSelfOrDefaultAlignmentData(StyleResolverState&, const CSSValue& value) |
| { |
| StyleSelfAlignmentData alignmentData = ComputedStyle::initialSelfAlignment(); |