[webkit-changes] [WebKit/WebKit] eb8b19: CoreText font platform should respect legacy visio...

Tim Horton noreply at github.com
Thu Aug 10 17:20:49 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: eb8b191e357fdeb6d91cfc181bbffd10c3ea210d
      https://github.com/WebKit/WebKit/commit/eb8b191e357fdeb6d91cfc181bbffd10c3ea210d
  Author: Tim Horton <thorton at apple.com>
  Date:   2023-08-10 (Thu, 10 Aug 2023)

  Changed paths:
    M Source/WebCore/Configurations/WebCore.xcconfig
    M Source/WebCore/PAL/pal/spi/ios/UIKitSPI.h
    M Source/WebCore/PAL/pal/system/ios/UserInterfaceIdiom.h
    M Source/WebCore/PAL/pal/system/ios/UserInterfaceIdiom.mm
    M Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp
    M Source/WebKit/Shared/WebPreferencesDefaultValues.cpp
    M Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm

  Log Message:
  -----------
  CoreText font platform should respect legacy visionOS styles when relevant
https://bugs.webkit.org/show_bug.cgi?id=260042
rdar://113417307

Reviewed by Aditya Keerthi and Mike Wyrzykowski.

The Web Content process needs to follow the host application's sub-idiom
for the purposes of font lookup, instead of just getting the default table
for its bundle identifier, to ensure correct resolution of system font styles.

* Source/WebCore/Configurations/WebCore.xcconfig:
Link RuntimeSupport on visionOS.

* Source/WebCore/PAL/pal/system/ios/UserInterfaceIdiom.h:
* Source/WebCore/PAL/pal/system/ios/UserInterfaceIdiom.mm:
(PAL::currentUserInterfaceIdiomIsVisionOrVisionLegacy):
(PAL::currentUserInterfaceIdiomIsVisionLegacy):
Add getters that can determine which visionOS sub-idiom you're using.
All clients (the vast majority) that don't care about the points-per-meter
value should use `IsVisionOrVisionLegacy`.

(PAL::determineVisionSubidiom):
Determine the sub-idiom by checking _RSCurrentProcessUsesNewPointsPerMeter.

(PAL::updateCurrentUserInterfaceIdiom):
(PAL::currentUserInterfaceIdiomIsVision): Deleted.
* Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::fontPlatform):
Determine the correct CoreText font platform based on the sub-idiom.

* Source/WebKit/Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAlternateFormControlDesignEnabled):
(WebKit::defaultVideoFullscreenRequiresElementFullscreen):
Adopt the new getters.

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




More information about the webkit-changes mailing list