[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