Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(974)

Unified Diff: third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp

Issue 1955723004: Implement font-variant-numeric (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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..a1793d866fb75062a743eac117091db6834bcc25 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderConverter.cpp
@@ -338,6 +338,48 @@ FontDescription::VariantLigatures StyleBuilderConverter::convertFontVariantLigat
return FontDescription::VariantLigatures();
}
+FontVariantNumeric StyleBuilderConverter::convertFontVariantNumeric(StyleResolverState&, const CSSValue& value)
+{
+ if (value.isPrimitiveValue()) {
+ ASSERT(toCSSPrimitiveValue(value).getValueID() == CSSValueNormal);
+ return FontVariantNumeric();
+ }
+
+ 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();

Powered by Google App Engine
This is Rietveld 408576698