[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