[webkit-changes] [WebKit/WebKit] 97f82b: Implement @font-face size-adjust descriptor (253062)

Vitor Roriz noreply at github.com
Tue May 2 14:07:47 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 97f82bc0e98c7ae32a6a0b24ded9ead1400583c8
      https://github.com/WebKit/WebKit/commit/97f82bc0e98c7ae32a6a0b24ded9ead1400583c8
  Author: Vitor Roriz <vitor.roriz at apple.com>
  Date:   2023-05-02 (Tue, 02 May 2023)

  Changed paths:
    M LayoutTests/TestExpectations
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto-expected-mismatch.html
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto-notref.html
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto.html
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage-expected.html
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage-ref.html
    A LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage.html
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/css/FontFace.cpp
    M Source/WebCore/css/FontFace.h
    M Source/WebCore/css/FontFace.idl
    M Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.cpp
    M Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.h
    M Source/WebCore/platform/graphics/FontDescription.cpp
    M Source/WebCore/platform/graphics/FontDescription.h
    M Source/WebCore/platform/graphics/FontPlatformData.cpp
    M Source/WebCore/platform/graphics/FontPlatformData.h
    M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
    M Source/WebCore/platform/graphics/cocoa/FontFamilySpecificationCoreText.cpp
    M Source/WebCore/platform/graphics/freetype/FontCacheFreeType.cpp
    M Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
    M Source/WebCore/platform/graphics/mac/FontCustomPlatformDataMac.cpp

  Log Message:
  -----------
  Implement @font-face size-adjust descriptor (253062)
https://bugs.webkit.org/show_bug.cgi?id=253062
rdar://106349717

Reviewed by Myles C. Maxfield.

Implements @font-face size-adjust descriptor according to
https://www.w3.org/TR/css-fonts-5/#size-adjust-desc

* LayoutTests/TestExpectations:
* Source/WebCore/css/FontFace.cpp:
(WebCore::FontFace::create):
(WebCore::FontFace::setSizeAdjust):
(WebCore::FontFace::sizeAdjust const):
* Source/WebCore/css/FontFace.h:
* Source/WebCore/css/FontFace.idl:
- Integrating size-adjust descriptor to FontFace() api.

* Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.cpp:
(WebCore::CSSPropertyParserWorkerSafe::parseFontFaceSizeAdjust):
* Source/WebCore/css/parser/CSSPropertyParserWorkerSafe.h:
- size-adjust parser wrapper for being used by FontFace().

* Source/WebCore/platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::usedFontSize):
    It is not worth modifying the used size with @font-face size-adjust if
    we are to re-adjust it later with font-size-adjust.
This is because font-size-adjust will overrule this change, since
size-adjust also modifies the font's metric values and thus, keeps the
aspect-value unchanged (see discussion at w3c/csswg-drafts#6128).

* LayoutTests/TestExpectations:
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto-expected-mismatch.html: Added.
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto-notref.html: Added.
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-auto.html: Added.
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage-expected.html: Added.
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage-ref.html: Added.
* LayoutTests/platform/ios/size-adjust-interacts-with-text-size-adjust-percentage.html: Added.
- Theses tests won't be exported to WPT because -webkit-text-size-adjust
is a webkit-only property.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml

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




More information about the webkit-changes mailing list