Changeset 294397 in webkit
- Timestamp:
- May 18, 2022 8:45:53 AM (2 years ago)
- Location:
- trunk/Source
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/wtf/PlatformHave.h
r293990 r294397 1180 1180 #define HAVE_SYSTEM_HTTP_CONTENT_FILTERING 1 1181 1181 #endif 1182 1183 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 160000) 1184 #define HAVE_DDRESULT_DISABLE_URL_SCHEME_CHECKING 1 1185 #endif -
trunk/Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.h
r288621 r294397 69 69 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, DataDetectorsCore, DDScanQueryCreateFromString, DDScanQueryRef, (CFAllocatorRef allocator, CFStringRef string, CFRange range), (allocator, string, range)) 70 70 SOFT_LINK_FUNCTION_FOR_HEADER(PAL, DataDetectorsCore, DDScannerCopyResultsWithOptions, CFArrayRef, (DDScannerRef scanner, DDScannerCopyResultsOptions options), (scanner, options)) 71 71 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_HEADER(PAL, DataDetectorsCore, DDResultDisableURLSchemeChecking, void, (), ()) 72 72 #endif // ENABLE(DATA_DETECTION) -
trunk/Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm
r288621 r294397 70 70 SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, DataDetectorsCore, DDScanQueryCreateFromString, DDScanQueryRef, (CFAllocatorRef allocator, CFStringRef string, CFRange range), (allocator, string, range)) 71 71 SOFT_LINK_FUNCTION_FOR_SOURCE(PAL, DataDetectorsCore, DDScannerCopyResultsWithOptions, CFArrayRef, (DDScannerRef scanner, DDScannerCopyResultsOptions options), (scanner, options)) 72 SOFT_LINK_FUNCTION_MAY_FAIL_FOR_SOURCE_WITH_EXPORT(PAL, DataDetectorsCore, DDResultDisableURLSchemeChecking, void, (), (), PAL_EXPORT) 72 73 #endif // ENABLE(DATA_DETECTION) -
trunk/Source/WebCore/PAL/pal/spi/cocoa/DataDetectorsCoreSPI.h
r277479 r294397 148 148 CFArrayRef DDResultGetSubResults(DDResultRef); 149 149 DDQueryRange DDResultGetQueryRangeForURLification(DDResultRef); 150 150 void DDResultDisableURLSchemeChecking(); 151 151 WTF_EXTERN_C_END 152 152 -
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
r294060 r294397 1063 1063 (extension "com.apple.webkit.extension.mach") 1064 1064 (global-name 1065 "com.apple.iconservices" 1066 "com.apple.lsd.open" 1067 ) 1068 ) 1069 ) 1065 "com.apple.iconservices"))) 1070 1066 1071 1067 (allow iokit-open -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
r294103 r294397 168 168 169 169 #if PLATFORM(IOS_FAMILY) 170 encoder << dynamicMachExtensionHandles;171 170 encoder << dynamicIOKitExtensionHandles; 172 171 #endif … … 460 459 461 460 #if PLATFORM(IOS_FAMILY) 462 std::optional<Vector<SandboxExtension::Handle>> dynamicMachExtensionHandles;463 decoder >> dynamicMachExtensionHandles;464 if (!dynamicMachExtensionHandles)465 return false;466 parameters.dynamicMachExtensionHandles = WTFMove(*dynamicMachExtensionHandles);467 468 461 std::optional<Vector<SandboxExtension::Handle>> dynamicIOKitExtensionHandles; 469 462 decoder >> dynamicIOKitExtensionHandles; -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.h
r294103 r294397 209 209 210 210 #if PLATFORM(IOS_FAMILY) 211 Vector<SandboxExtension::Handle> dynamicMachExtensionHandles;212 211 Vector<SandboxExtension::Handle> dynamicIOKitExtensionHandles; 213 212 #endif -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
r294325 r294397 2586 2586 } 2587 2587 2588 - (void)_disableURLSchemeCheckInDataDetectors 2589 { 2590 THROW_IF_SUSPENDED; 2591 if (_page) 2592 _page->disableURLSchemeCheckInDataDetectors(); 2593 } 2594 2588 2595 - (void)_switchFromStaticFontRegistryToUserFontRegistry 2589 2596 { -
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
r294325 r294397 408 408 - (void)_revokeAccessToAssetServices WK_API_AVAILABLE(macos(12.0), ios(14.0)); 409 409 410 - (void)_disableURLSchemeCheckInDataDetectors WK_API_AVAILABLE(ios(WK_IOS_TBA)); 411 410 412 /*! @abstract If the WKWebView was created with _shouldAllowUserInstalledFonts = NO, 411 413 the web process will automatically use an in-process font registry, and its sandbox -
trunk/Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm
r294190 r294397 853 853 } 854 854 855 void WebPageProxy::disableURLSchemeCheckInDataDetectors() const 856 { 857 process().send(Messages::WebProcess::DisableURLSchemeCheckInDataDetectors(), 0); 858 } 859 855 860 void WebPageProxy::switchFromStaticFontRegistryToUserFontRegistry() 856 861 { -
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
r293595 r294397 288 288 } 289 289 290 #if PLATFORM(IOS_FAMILY)291 static const Vector<ASCIILiteral>& nonBrowserServices()292 {293 ASSERT(isMainRunLoop());294 static NeverDestroyed services = Vector<ASCIILiteral> {295 "com.apple.lsd.open"_s,296 };297 return services;298 }299 #endif300 301 290 void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process, WebProcessCreationParameters& parameters) 302 291 { … … 399 388 400 389 #if PLATFORM(IOS_FAMILY) 401 if (!isFullWebBrowser())402 parameters.dynamicMachExtensionHandles = SandboxExtension::createHandlesForMachLookup(nonBrowserServices(), std::nullopt);403 404 390 if (WebCore::deviceHasAGXCompilerService()) 405 391 parameters.dynamicIOKitExtensionHandles = SandboxExtension::createHandlesForIOKitClassExtensions(WebCore::agxCompilerClasses(), std::nullopt); -
trunk/Source/WebKit/UIProcess/WebPageProxy.h
r294325 r294397 1921 1921 void switchFromStaticFontRegistryToUserFontRegistry(); 1922 1922 1923 void disableURLSchemeCheckInDataDetectors() const; 1924 1923 1925 void setIsTakingSnapshotsForApplicationSuspension(bool); 1924 1926 void setNeedsDOMWindowResizeEvent(); -
trunk/Source/WebKit/WebProcess/WebProcess.h
r294190 r294397 368 368 void switchFromStaticFontRegistryToUserFontRegistry(WebKit::SandboxExtension::Handle&& fontMachExtensionHandle); 369 369 370 void disableURLSchemeCheckInDataDetectors() const; 371 370 372 #if PLATFORM(MAC) 371 373 void updatePageScreenProperties(); -
trunk/Source/WebKit/WebProcess/WebProcess.messages.in
r294190 r294397 169 169 170 170 #if PLATFORM(COCOA) 171 DisableURLSchemeCheckInDataDetectors() 171 172 UnblockServicesRequiredByAccessibility(Vector<WebKit::SandboxExtension::Handle> handleArray) 172 173 #if ENABLE(CFPREFS_DIRECT_MODE) -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r294190 r294397 28 28 29 29 #import "AccessibilitySupportSPI.h" 30 #import "DefaultWebBrowserChecks.h" 30 31 #import "LegacyCustomProtocolManager.h" 31 32 #import "LogInitialization.h" … … 94 95 #import <pal/spi/cocoa/AVFoundationSPI.h> 95 96 #import <pal/spi/cocoa/CoreServicesSPI.h> 97 #import <pal/spi/cocoa/DataDetectorsCoreSPI.h> 96 98 #import <pal/spi/cocoa/LaunchServicesSPI.h> 97 99 #import <pal/spi/cocoa/NSAccessibilitySPI.h> … … 158 160 #import <pal/cf/VideoToolboxSoftLink.h> 159 161 #import <pal/cocoa/AVFoundationSoftLink.h> 162 #import <pal/cocoa/DataDetectorsCoreSoftLink.h> 160 163 #import <pal/cocoa/MediaToolboxSoftLink.h> 161 164 … … 411 414 412 415 #if PLATFORM(IOS_FAMILY) 413 SandboxExtension::consumePermanently(parameters.dynamicMachExtensionHandles);414 416 SandboxExtension::consumePermanently(parameters.dynamicIOKitExtensionHandles); 415 417 #endif … … 447 449 448 450 accessibilityPreferencesDidChange(parameters.accessibilityPreferences); 451 452 if (!isParentProcessAFullWebBrowser(*this)) 453 disableURLSchemeCheckInDataDetectors(); 449 454 } 450 455 … … 1165 1170 } 1166 1171 1172 void WebProcess::disableURLSchemeCheckInDataDetectors() const 1173 { 1174 #if HAVE(DDRESULT_DISABLE_URL_SCHEME_CHECKING) 1175 if (PAL::canLoad_DataDetectorsCore_DDResultDisableURLSchemeChecking()) 1176 PAL::softLinkDataDetectorsCoreDDResultDisableURLSchemeChecking(); 1177 #endif 1178 } 1179 1167 1180 void WebProcess::switchFromStaticFontRegistryToUserFontRegistry(WebKit::SandboxExtension::Handle&& fontMachExtensionHandle) 1168 1181 {
Note: See TracChangeset
for help on using the changeset viewer.