[webkit-changes] [WebKit/WebKit] 96c123: Implement parsing of CSS font-variant-alternates

Matthieu Dubet noreply at github.com
Wed Oct 5 18:21:34 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 96c123ec8040c9890edb7c5cc8846b8026108ea0
      https://github.com/WebKit/WebKit/commit/96c123ec8040c9890edb7c5cc8846b8026108ea0
  Author: Matthieu Dubet <m_dubet at apple.com>
  Date:   2022-10-05 (Wed, 05 Oct 2022)

  Changed paths:
    M LayoutTests/fast/text/font-variant-shorthand-expected.txt
    M LayoutTests/fast/text/font-variant-shorthand.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-variant-valid-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    A Source/WebCore/css/CSSFontVariantAlternatesValue.cpp
    A Source/WebCore/css/CSSFontVariantAlternatesValue.h
    M Source/WebCore/css/CSSPrimitiveValueMappings.h
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/CSSValue.cpp
    M Source/WebCore/css/CSSValue.h
    M Source/WebCore/css/CSSValueKeywords.in
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/StyleProperties.cpp
    M Source/WebCore/css/parser/CSSParserFastPaths.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/platform/graphics/FontCascadeCache.h
    M Source/WebCore/platform/graphics/FontCascadeDescription.cpp
    M Source/WebCore/platform/graphics/FontCascadeDescription.h
    M Source/WebCore/platform/graphics/FontDescription.cpp
    M Source/WebCore/platform/graphics/FontDescription.h
    M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
    M Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp
    M Source/WebCore/platform/text/TextFlags.cpp
    M Source/WebCore/platform/text/TextFlags.h
    M Source/WebCore/style/StyleBuilderCustom.h

  Log Message:
  -----------
  Implement parsing of CSS font-variant-alternates
https://bugs.webkit.org/show_bug.cgi?id=149772
rdar://problem/22959741

Reviewed by Myles C. Maxfield.

This patch implements the complete parsing of the property.
Only the "normal" and "historical-forms" values are actually
passed down to the platform.

https://www.w3.org/TR/css-fonts-4/#font-variant-alternates-prop

* LayoutTests/fast/text/font-variant-shorthand-expected.txt:
* LayoutTests/fast/text/font-variant-shorthand.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-variant-valid-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/accumulation-per-property-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/addition-per-property-001-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/web-animations/animation-model/animation-types/interpolation-per-property-001-expected.txt:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSFontVariantAlternatesValue.cpp: Added.
(WebCore::CSSFontVariantAlternatesValue::CSSFontVariantAlternatesValue):
(WebCore::CSSFontVariantAlternatesValue::customCSSText const):
(WebCore::CSSFontVariantAlternatesValue::equals const):
* Source/WebCore/css/CSSFontVariantAlternatesValue.h: Added.
* Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator FontVariantAlternates const): Deleted.
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSValue.cpp:
(WebCore::CSSValue::visitDerived):
* Source/WebCore/css/CSSValue.h:
(WebCore::CSSValue::isFontVariantAlternatesValue const):
* Source/WebCore/css/CSSValueKeywords.in:
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::fontVariantAlternatesPropertyValue):
* Source/WebCore/css/parser/CSSParserFastPaths.cpp:
(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::consumeFontVariantAlternates):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::consumeFontVariantShorthand):
* Source/WebCore/platform/graphics/FontCascadeCache.h:
(WebCore::FontDescriptionKeyRareData::create):
(WebCore::FontDescriptionKeyRareData::variantAlternates const):
(WebCore::FontDescriptionKeyRareData::operator== const):
(WebCore::FontDescriptionKeyRareData::FontDescriptionKeyRareData):
(WebCore::add):
(WebCore::FontDescriptionKey::FontDescriptionKey):
(WebCore::FontDescriptionKey::makeFlagsKey):
* Source/WebCore/platform/graphics/FontCascadeDescription.cpp:
* Source/WebCore/platform/graphics/FontCascadeDescription.h:
(WebCore::FontCascadeDescription::initialVariantAlternates):
* Source/WebCore/platform/graphics/FontDescription.cpp:
(WebCore::FontDescription::FontDescription):
* Source/WebCore/platform/graphics/FontDescription.h:
(WebCore::FontDescription::variantAlternates const):
(WebCore::FontDescription::setVariantAlternates):
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::computeFeatureSettingsFromVariants):
* Source/WebCore/platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
(WebCore::setFeatureSettingsFromVariants):
* Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::reduce):
(WebCore::operator<<):
(WebCore::add):
* Source/WebCore/platform/text/TextFlags.h:
(WebCore::FontVariantAlternates::isNormal const):
(WebCore::FontVariantAlternates::values const):
(WebCore::FontVariantAlternates::valuesRef):
(WebCore::FontVariantAlternates::setValues):
(WebCore::FontVariantAlternates::Normal):
(WebCore::FontVariantSettings::FontVariantSettings):
(WebCore::FontVariantSettings::isAllNormal const):
(WebCore::FontVariantSettings::uniqueValue const): Deleted.
* Source/WebCore/style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyInheritFontVariantAlternates):
(WebCore::Style::BuilderCustom::applyInitialFontVariantAlternates):
(WebCore::Style::BuilderCustom::applyValueFontVariantAlternates):

Canonical link: https://commits.webkit.org/255201@main




More information about the webkit-changes mailing list