[webkit-changes] [WebKit/WebKit] dea5f8: Try loading fonts with CTFontManagerCreateMemorySa...

apple-fcloutier noreply at github.com
Wed Feb 14 18:40:30 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: dea5f8e4a1495d6a7ae3d295d12ec5a99969861c
      https://github.com/WebKit/WebKit/commit/dea5f8e4a1495d6a7ae3d295d12ec5a99969861c
  Author: Félix Cloutier <fcloutier at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml
    M Source/WebCore/Headers.cmake
    M Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp
    M Source/WebCore/PAL/pal/cf/CoreTextSoftLink.h
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.order
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/css/CSSFontFace.cpp
    M Source/WebCore/css/CSSFontFaceSource.cpp
    M Source/WebCore/css/FontFace.cpp
    R Source/WebCore/loader/cache/AllowedFonts.cpp
    R Source/WebCore/loader/cache/AllowedFonts.h
    M Source/WebCore/loader/cache/CachedFont.cpp
    M Source/WebCore/loader/cache/CachedFont.h
    M Source/WebCore/loader/cache/CachedFontLoadRequest.h
    A Source/WebCore/loader/cache/TrustedFonts.cpp
    A Source/WebCore/loader/cache/TrustedFonts.h
    M Source/WebCore/page/Quirks.cpp
    M Source/WebCore/page/Settings.yaml
    M Source/WebCore/page/SettingsBase.h
    M Source/WebCore/platform/graphics/FontCustomPlatformData.h
    M Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp
    M Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp
    M Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp
    M Source/WebCore/platform/graphics/win/FontCustomPlatformDataWin.cpp
    M Source/WebCore/workers/WorkerFontLoadRequest.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.cpp
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    M Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp

  Log Message:
  -----------
  Try loading fonts with CTFontManagerCreateMemorySafeFontDescriptorFromData in Lockdown Mode.

https://bugs.webkit.org/show_bug.cgi?id=267948

rdar://121280542

Reviewed by Brent Fulgham and Chris Dumez.

Most Web fonts are not parsed in Lockdown Mode. On systems that provide an
alternative, safe font parser, try to use that font parser. Whether to enable
a fallback font parser is controlled by the LockdownFontParserEnabled setting,
added in "testable" status.

* Source/WTF/Scripts/Preferences/UnifiedWebPreferences.yaml:
* Source/WebCore/Headers.cmake:
* Source/WebCore/PAL/pal/cf/CoreTextSoftLink.cpp:
* Source/WebCore/PAL/pal/cf/CoreTextSoftLink.h:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.order:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/css/CSSFontFace.cpp:
(WebCore::CSSFontFace::appendSources):
* Source/WebCore/css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::load):
* Source/WebCore/css/FontFace.cpp:
(WebCore::FontFace::create):
* Source/WebCore/loader/cache/CachedFont.cpp:
(WebCore::CachedFont::policyForCustomFont):
(WebCore::CachedFont::finishLoading):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createCustomFontData):
(WebCore::CachedFont::createCustomFontDataExperimentalParser):
(WebCore::CachedFont::shouldAllowCustomFont): Deleted.
* Source/WebCore/loader/cache/CachedFont.h:
(WebCore::CachedFont::didRefuseToParseCustomFont const):
(WebCore::CachedFont::didRefuseToLoadCustomFont const): Deleted.
* Source/WebCore/loader/cache/CachedFontLoadRequest.h:
* Source/WebCore/loader/cache/TrustedFonts.cpp: Renamed from Source/WebCore/loader/cache/AllowedFonts.cpp.
(WebCore::trustedFontHashesInLockdownMode):
(WebCore::hashForFontData):
(WebCore::fontBinaryParsingPolicy):
* Source/WebCore/loader/cache/TrustedFonts.h: Renamed from Source/WebCore/loader/cache/AllowedFonts.h.
* Source/WebCore/page/Quirks.cpp:
(WebCore::Quirks::shouldEnableFontLoadingAPIQuirk const):
* Source/WebCore/page/Settings.yaml:
* Source/WebCore/page/SettingsBase.h:
* Source/WebCore/platform/graphics/FontCustomPlatformData.h:
* Source/WebCore/platform/graphics/coretext/FontCustomPlatformDataCoreText.cpp:
(WebCore::extractFontCustomPlatformData):
(WebCore::FontCustomPlatformData::create):
(WebCore::FontCustomPlatformData::createMemorySafe):
(WebCore::FontCustomPlatformData::tryMakeFromSerializationData):
(WebCore::createFontCustomPlatformData): Deleted.
* Source/WebCore/platform/graphics/coretext/FontPlatformDataCoreText.cpp:
(WebCore::FontPlatformData::tryMakeFontPlatformData):
* Source/WebCore/platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
(WebCore::FontCustomPlatformData::create):
(WebCore::FontCustomPlatformData::createMemorySafe):
(WebCore::createFontCustomPlatformData): Deleted.
* Source/WebCore/platform/graphics/win/FontCustomPlatformDataWin.cpp:
(WebCore::FontCustomPlatformData::create):
(WebCore::FontCustomPlatformData::createMemorySafe):
(WebCore::createFontCustomPlatformData): Deleted.
* Source/WebCore/workers/WorkerFontLoadRequest.cpp:
(WebCore::WorkerFontLoadRequest::ensureCustomFontData):
* Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<FontCustomPlatformData>::decode):
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/win/WebCoreArgumentCodersWin.cpp:
(IPC::ArgumentCoder<Font>::decodePlatformData):
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::adjustSettingsForLockdownMode):

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




More information about the webkit-changes mailing list