Changeset 267498 in webkit
- Timestamp:
- Sep 23, 2020, 12:52:03 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 6 edited
-
ChangeLog (modified) (1 diff)
-
Shared/WebProcessCreationParameters.cpp (modified) (3 diffs)
-
Shared/WebProcessCreationParameters.h (modified) (1 diff)
-
UIProcess/Cocoa/WebProcessPoolCocoa.mm (modified) (5 diffs)
-
WebProcess/cocoa/WebProcessCocoa.mm (modified) (1 diff)
-
WebProcess/com.apple.WebProcess.sb.in (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r267497 r267498 1 2020-09-23 Per Arne Vollan <pvollan@apple.com> 2 3 [macOS] Issue sandbox extension for the diagnostic daemon 4 https://bugs.webkit.org/show_bug.cgi?id=216834 5 <rdar://problem/58496834> 6 7 Reviewed by Brent Fulgham. 8 9 * Shared/WebProcessCreationParameters.cpp: 10 (WebKit::WebProcessCreationParameters::encode const): 11 (WebKit::WebProcessCreationParameters::decode): 12 * Shared/WebProcessCreationParameters.h: 13 * UIProcess/Cocoa/WebProcessPoolCocoa.mm: 14 (WebKit::isInternalInstall): 15 (WebKit::agxCompilerClasses): 16 (WebKit::diagnosticServices): 17 (WebKit::WebProcessPool::platformInitializeWebProcess): 18 * WebProcess/cocoa/WebProcessCocoa.mm: 19 (WebKit::WebProcess::platformInitializeWebProcess): 20 * WebProcess/com.apple.WebProcess.sb.in: 21 1 22 2020-09-23 Fujii Hironori <Hironori.Fujii@sony.com> 2 23 -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp
r266802 r267498 163 163 encoder << mobileGestaltExtensionHandle; 164 164 165 encoder << diagnosticsExtensionHandles; 165 166 #if PLATFORM(IOS_FAMILY) 166 encoder << diagnosticsExtensionHandles;167 167 encoder << dynamicMachExtensionHandles; 168 168 encoder << dynamicIOKitExtensionHandles; … … 439 439 parameters.mobileGestaltExtensionHandle = WTFMove(*mobileGestaltExtensionHandle); 440 440 441 #if PLATFORM(IOS_FAMILY)442 441 Optional<SandboxExtension::HandleArray> diagnosticsExtensionHandles; 443 442 decoder >> diagnosticsExtensionHandles; … … 446 445 parameters.diagnosticsExtensionHandles = WTFMove(*diagnosticsExtensionHandles); 447 446 447 #if PLATFORM(IOS_FAMILY) 448 448 Optional<SandboxExtension::HandleArray> dynamicMachExtensionHandles; 449 449 decoder >> dynamicMachExtensionHandles; -
trunk/Source/WebKit/Shared/WebProcessCreationParameters.h
r266802 r267498 207 207 Optional<SandboxExtension::Handle> mobileGestaltExtensionHandle; 208 208 209 #if PLATFORM(IOS_FAMILY)210 209 SandboxExtension::HandleArray diagnosticsExtensionHandles; 210 #if PLATFORM(IOS_FAMILY) 211 211 SandboxExtension::HandleArray dynamicMachExtensionHandles; 212 212 SandboxExtension::HandleArray dynamicIOKitExtensionHandles; -
trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm
r267090 r267498 202 202 } 203 203 204 #if PLATFORM(IOS_FAMILY)205 204 static bool isInternalInstall() 206 205 { 206 #if PLATFORM(IOS_FAMILY) 207 207 static bool isInternal = MGGetBoolAnswer(kMGQAppleInternalInstallCapability); 208 #else 209 static bool isInternal = FileSystem::fileIsDirectory("/AppleInternal", FileSystem::ShouldFollowSymbolicLinks::No); 210 #endif 208 211 return isInternal; 209 212 } 210 #endif211 213 212 214 // FIXME(207716): The following should be removed when the GPU process is complete. … … 261 263 } 262 264 263 static const Vector<ASCIILiteral>& diagnosticServices()264 {265 ASSERT(isMainThread());266 static const auto services = makeNeverDestroyed(Vector<ASCIILiteral> {267 "com.apple.diagnosticd"_s,268 "com.apple.osanalytics.osanalyticshelper"_s269 });270 return services;271 }272 273 265 static const Vector<ASCIILiteral>& agxCompilerClasses() 274 266 { … … 288 280 return iokitClasses; 289 281 } 290 291 282 #endif 292 283 … … 302 293 } 303 294 #endif 295 296 static const Vector<ASCIILiteral>& diagnosticServices() 297 { 298 ASSERT(isMainThread()); 299 static const auto services = makeNeverDestroyed(Vector<ASCIILiteral> { 300 "com.apple.diagnosticd"_s, 301 #if PLATFORM(IOS_FAMILY) 302 "com.apple.osanalytics.osanalyticshelper"_s 303 #endif 304 }); 305 return services; 306 } 307 304 308 305 309 static bool requiresContainerManagerAccess() … … 422 426 if (!WebCore::IOSApplication::isMobileSafari()) 423 427 parameters.dynamicMachExtensionHandles = SandboxExtension::createHandlesForMachLookup(nonBrowserServices(), WTF::nullopt); 424 428 429 if (WebCore::deviceHasAGXCompilerService()) 430 parameters.dynamicIOKitExtensionHandles = SandboxExtension::createHandlesForIOKitClassExtensions(agxCompilerClasses(), WTF::nullopt); 431 #endif 432 425 433 if (isInternalInstall()) 426 434 parameters.diagnosticsExtensionHandles = SandboxExtension::createHandlesForMachLookup(diagnosticServices(), WTF::nullopt, SandboxExtension::Flags::NoReport); 427 435 428 if (WebCore::deviceHasAGXCompilerService())429 parameters.dynamicIOKitExtensionHandles = SandboxExtension::createHandlesForIOKitClassExtensions(agxCompilerClasses(), WTF::nullopt);430 #endif431 432 #if PLATFORM(COCOA)433 436 parameters.systemHasBattery = systemHasBattery(); 434 437 parameters.systemHasAC = cachedSystemHasAC().valueOr(true); 435 #endif436 438 437 439 if (requiresContainerManagerAccess()) { -
trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
r266932 r267498 312 312 SandboxExtension::consumePermanently(*parameters.containerManagerExtensionHandle); 313 313 314 SandboxExtension::consumePermanently(parameters.diagnosticsExtensionHandles); 314 315 #if PLATFORM(IOS_FAMILY) 315 SandboxExtension::consumePermanently(parameters.diagnosticsExtensionHandles);316 316 SandboxExtension::consumePermanently(parameters.dynamicMachExtensionHandles); 317 317 SandboxExtension::consumePermanently(parameters.dynamicIOKitExtensionHandles); -
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in
r267490 r267498 1001 1001 "com.apple.cfprefsd.daemon" 1002 1002 "com.apple.containermanagerd" 1003 "com.apple.diagnosticd" 1003 1004 "com.apple.tccd" 1004 1005 "com.apple.BluetoothServices"
Note:
See TracChangeset
for help on using the changeset viewer.