Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 96c123ec8040c9890edb7c5cc8846b8026108ea0 https://github.com/WebKit/WebKit/commit/96c123ec8040c9890edb7c5cc8846b8026108ea0 Author: Matthieu Dubet <m_du...@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 _______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes