[webkit-changes] [WebKit/WebKit] b483b2: Implement font-synthesis longhand properties

Vitor Roriz noreply at github.com
Wed Oct 5 08:26:44 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b483b294a91df986fc660018ab160ed799be28ab
      https://github.com/WebKit/WebKit/commit/b483b294a91df986fc660018ab160ed799be28ab
  Author: Vitor Roriz <vitor.roriz at apple.com>
  Date:   2022-10-05 (Wed, 05 Oct 2022)

  Changed paths:
    M LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt
    M LayoutTests/fast/css/getComputedStyle/computed-style-font-family-expected.txt
    M LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt
    M LayoutTests/fast/css/getComputedStyle/resources/property-names.js
    M LayoutTests/fast/css3-text/font-synthesis-parse-expected.txt
    M LayoutTests/fast/css3-text/font-synthesis-parse.html
    M LayoutTests/imported/w3c/resources/import-expectations.json
    M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-computed-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-computed.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-invalid-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-invalid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-invalid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-invalid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-valid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-valid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-invalid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-invalid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-valid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-valid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-invalid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-invalid.html
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-valid-expected.txt
    A LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-valid.html
    M LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt
    M LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt
    M LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt
    M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt
    M LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt
    M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt
    M LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt
    M LayoutTests/svg/css/getComputedStyle-basic-expected.txt
    M Source/WebCore/animation/CSSPropertyAnimation.cpp
    M Source/WebCore/css/CSSPrimitiveValueMappings.h
    M Source/WebCore/css/CSSProperties.json
    M Source/WebCore/css/CSSSegmentedFontFace.cpp
    M Source/WebCore/css/ComputedStyleExtractor.cpp
    M Source/WebCore/css/StyleProperties.cpp
    M Source/WebCore/css/StyleProperties.h
    M Source/WebCore/css/parser/CSSPropertyParser.cpp
    M Source/WebCore/css/parser/CSSPropertyParser.h
    M Source/WebCore/platform/graphics/ComplexTextController.cpp
    M Source/WebCore/platform/graphics/FontCascadeCache.h
    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/freetype/FontCacheFreeType.cpp
    M Source/WebCore/platform/text/TextFlags.h
    M Source/WebCore/style/PropertyAllowlist.cpp
    M Source/WebCore/style/StyleBuilderConverter.h
    M Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json
    M Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js

  Log Message:
  -----------
  Implement font-synthesis longhand properties
https://bugs.webkit.org/show_bug.cgi?id=232009
rdar://84706153

Reviewed by Tim Nguyen.

Adding support for font-synthesis longhand properties:
- font-synthesis-weight
- font-synthesis-style
- font-synthesis-small-caps

Refactoring font-synthesis shorthand so it is implemented by
using its longhands.

* LayoutTests/fast/css/getComputedStyle/computed-style-expected.txt:
* LayoutTests/fast/css/getComputedStyle/computed-style-font-family-expected.txt:
* LayoutTests/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* LayoutTests/fast/css/getComputedStyle/resources/property-names.js:
* LayoutTests/fast/css3-text/font-synthesis-parse-expected.txt:
* LayoutTests/fast/css3-text/font-synthesis-parse.html:
* LayoutTests/imported/w3c/resources/import-expectations.json:
* LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-computed-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-computed.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-invalid-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-invalid.html:
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-small-caps-valid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-style-valid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-invalid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-invalid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-valid-expected.txt: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-fonts/parsing/font-synthesis-weight-valid.html: Added.
* LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/css-pseudo/parsing/marker-supported-properties-in-animation-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* LayoutTests/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt:
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* LayoutTests/platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt:
* LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-pseudo-expected.txt:
* LayoutTests/platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
* LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
* LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
* LayoutTests/svg/css/getComputedStyle-basic-expected.txt:
* Source/WebCore/animation/CSSPropertyAnimation.cpp:
(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):
* Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator FontSynthesisLonghandValue const):
* Source/WebCore/css/CSSProperties.json:
* Source/WebCore/css/CSSSegmentedFontFace.cpp:
(WebCore::CSSSegmentedFontFace::fontRanges):
* Source/WebCore/css/ComputedStyleExtractor.cpp:
(WebCore::fontSynthesisFromStyle):
(WebCore::fontSynthesisLonghandToCSSValue):
(WebCore::fontSynthesisWeightFromStyle):
(WebCore::fontSynthesisStyleFromStyle):
(WebCore::fontSynthesisSmallCapsFromStyle):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
* Source/WebCore/css/StyleProperties.cpp:
(WebCore::isCSSWideValueIDKeyword):
(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::fontSynthesisValue const):
* Source/WebCore/css/StyleProperties.h:
* Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeFontSynthesis):
(WebCore::consumeFontSynthesisLonghand):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::parseShorthand):
(WebCore::consumeFontSynthesis): Deleted.
* Source/WebCore/css/parser/CSSPropertyParser.h:
* Source/WebCore/platform/graphics/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns):
* Source/WebCore/platform/graphics/FontCascadeCache.h:
(WebCore::FontDescriptionKey::makeFlagsKey):
* Source/WebCore/platform/graphics/FontCascadeDescription.h:
(WebCore::FontCascadeDescription::initialFontSynthesisWeight):
(WebCore::FontCascadeDescription::initialFontSynthesisStyle):
(WebCore::FontCascadeDescription::initialFontSynthesisSmallCaps):
(WebCore::FontCascadeDescription::initialFontSynthesis): Deleted.
* Source/WebCore/platform/graphics/FontDescription.cpp:
* Source/WebCore/platform/graphics/FontDescription.h:
(WebCore::FontDescription::fontSynthesisWeight const):
(WebCore::FontDescription::fontSynthesisStyle const):
(WebCore::FontDescription::fontSynthesisSmallCaps const):
(WebCore::FontDescription::hasAutoFontSynthesisWeight const):
(WebCore::FontDescription::hasAutoFontSynthesisStyle const):
(WebCore::FontDescription::hasAutoFontSynthesisSmallCaps const):
(WebCore::FontDescription::setFontSynthesisWeight):
(WebCore::FontDescription::setFontSynthesisStyle):
(WebCore::FontDescription::setFontSynthesisSmallCaps):
(WebCore::FontDescription::operator== const):
(WebCore::FontDescription::encode const):
(WebCore::FontDescription::decode):
(WebCore::FontDescription::fontSynthesis const): Deleted.
(WebCore::FontDescription::setFontSynthesis): Deleted.
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::computeNecessarySynthesis):
* Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp:
(WebCore::getFontPropertiesFromPattern):
* Source/WebCore/platform/text/TextFlags.h:
(): Deleted.
* Source/WebCore/style/PropertyAllowlist.cpp:
(WebCore::Style::isValidMarkerStyleProperty):
* Source/WebCore/style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertFontSynthesis): Deleted.
* Source/WebInspectorUI/UserInterface/External/CSSDocumentation/CSSDocumentation-overrides.json:
* Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js:

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




More information about the webkit-changes mailing list