Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c58276b87f4dcd868107f67931d1fdb50db4d27b
      
https://github.com/WebKit/WebKit/commit/c58276b87f4dcd868107f67931d1fdb50db4d27b
  Author: Per Arne Vollan <[email protected]>
  Date:   2025-06-27 (Fri, 27 Jun 2025)

  Changed paths:
    M Source/WTF/WTF.xcodeproj/project.pbxproj
    M Source/WTF/wtf/cocoa/SoftLinking.h
    A Source/WTF/wtf/spi/cocoa/XTSPI.h
    M Source/WebCore/platform/LogMessages.in
    M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp
    M Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h
    M Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
    M Source/WebKit/UIProcess/WebProcessPool.h
    M Source/WebKit/WebProcess/WebProcess.h
    M Source/WebKit/WebProcess/WebProcess.messages.in
    M Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm

  Log Message:
  -----------
  Improve performance of font fetching
https://bugs.webkit.org/show_bug.cgi?id=294405
rdar://153920635

Reviewed by Chris Dumez.

In <https://commits.webkit.org/296142@main>, we improved the performance of 
font registration in the WebContent
process, by only registering fonts on demand. This patch is further improving 
the performance, but this time in
the UI process. Instead of creating the mapping between font names and URLs 
in-process, this patch instead gets
this information from a system service, where this data already is prepared and 
stored in memory. Local
measurements show that this is approximately 10x faster than doing it 
in-process.

This patch also fixes an issue where we would not register all font files for a 
given font family. This is
addressed by creating a mapping between font family names and font names, which 
is sent to the WebContent
process.

* Source/WTF/WTF.xcodeproj/project.pbxproj:
* Source/WTF/wtf/cocoa/SoftLinking.h:
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::WTF_REQUIRES_LOCK):
(WebCore::FontCache::createFontPlatformData):
(WebCore::userInstalledFontFamilyMap):
* Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:
* Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerUserInstalledFonts):
(WebKit::WebProcessPool::registerAdditionalFonts):
(SOFT_LINK_CONSTANT_MAY_FAIL): Deleted.
(WebKit::addUserInstalledFontURLs): Deleted.
* Source/WebKit/UIProcess/WebProcessPool.h:
* Source/WebKit/WebProcess/WebProcess.h:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::registerFontMap):

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to