Title: [253595] trunk/Source/WebKit
Revision
253595
Author
pvol...@apple.com
Date
2019-12-16 16:02:50 -0800 (Mon, 16 Dec 2019)

Log Message

[iOS] Issue mach lookup extension to diagnostics daemon
https://bugs.webkit.org/show_bug.cgi?id=205292

Reviewed by Brent Fulgham.

For internal installs, issue a mach lookup extension to the diagnostics daemon.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
* Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
* Shared/WebProcessCreationParameters.h:
* UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::isInternalInstall):
(WebKit::WebProcessPool::platformInitializeWebProcess):
* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (253594 => 253595)


--- trunk/Source/WebKit/ChangeLog	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/ChangeLog	2019-12-17 00:02:50 UTC (rev 253595)
@@ -1,3 +1,23 @@
+2019-12-16  Per Arne Vollan  <pvol...@apple.com>
+
+        [iOS] Issue mach lookup extension to diagnostics daemon
+        https://bugs.webkit.org/show_bug.cgi?id=205292
+
+        Reviewed by Brent Fulgham.
+
+        For internal installs, issue a mach lookup extension to the diagnostics daemon.
+
+        * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
+        * Shared/WebProcessCreationParameters.cpp:
+        (WebKit::WebProcessCreationParameters::encode const):
+        (WebKit::WebProcessCreationParameters::decode):
+        * Shared/WebProcessCreationParameters.h:
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::isInternalInstall):
+        (WebKit::WebProcessPool::platformInitializeWebProcess):
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::platformInitializeWebProcess):
+
 2019-12-16  Daniel Bates  <daba...@apple.com>
 
         Reproducible case of backwards nextParagraph returning a position ahead of the input position

Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb (253594 => 253595)


--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb	2019-12-17 00:02:50 UTC (rev 253595)
@@ -968,7 +968,7 @@
 (allow mach-lookup
     (require-all
         (extension "com.apple.webkit.extension.mach")
-        (global-name "com.apple.iphone.axserver-systemwide" "com.apple.tccd" "com.apple.nehelper" "com.apple.nesessionmanager.content-filter" "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI")))
+        (global-name "com.apple.iphone.axserver-systemwide" "com.apple.tccd" "com.apple.nehelper" "com.apple.nesessionmanager.content-filter" "com.apple.uikit.viewservice.com.apple.WebContentFilter.remoteUI" "com.apple.diagnosticd")))
 
 (allow mach-lookup
     (require-all

Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp (253594 => 253595)


--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp	2019-12-17 00:02:50 UTC (rev 253595)
@@ -163,6 +163,7 @@
 #if PLATFORM(IOS)
     encoder << compilerServiceExtensionHandle;
     encoder << contentFilterExtensionHandle;
+    encoder << diagnosticsExtensionHandle;
 #endif
     
 #if PLATFORM(COCOA)
@@ -417,6 +418,12 @@
     if (!contentFilterExtensionHandle)
         return false;
     parameters.contentFilterExtensionHandle = WTFMove(*contentFilterExtensionHandle);
+
+    Optional<Optional<SandboxExtension::Handle>> diagnosticsExtensionHandle;
+    decoder >> diagnosticsExtensionHandle;
+    if (!diagnosticsExtensionHandle)
+        return false;
+    parameters.diagnosticsExtensionHandle = WTFMove(*diagnosticsExtensionHandle);
 #endif
 
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.h (253594 => 253595)


--- trunk/Source/WebKit/Shared/WebProcessCreationParameters.h	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.h	2019-12-17 00:02:50 UTC (rev 253595)
@@ -205,6 +205,7 @@
 #if PLATFORM(IOS)
     Optional<SandboxExtension::Handle> compilerServiceExtensionHandle;
     Optional<SandboxExtension::Handle> contentFilterExtensionHandle;
+    Optional<SandboxExtension::Handle> diagnosticsExtensionHandle;
 #endif
 
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm (253594 => 253595)


--- trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm	2019-12-17 00:02:50 UTC (rev 253595)
@@ -70,6 +70,7 @@
 
 #if PLATFORM(IOS)
 #import <pal/spi/cocoa/WebFilterEvaluatorSPI.h>
+#import <pal/spi/ios/MobileGestaltSPI.h>
 #import <sys/utsname.h>
 
 SOFT_LINK_PRIVATE_FRAMEWORK(WebContentAnalysis);
@@ -199,6 +200,12 @@
         });
     return deviceHasAGXCompilerService;
 }
+
+static bool isInternalInstall()
+{
+    static bool isInternal = MGGetBoolAnswer(kMGQAppleInternalInstallCapability);
+    return isInternal;
+}
 #endif
 
 void WebProcessPool::platformInitializeWebProcess(const WebProcessProxy& process, WebProcessCreationParameters& parameters)
@@ -305,6 +312,12 @@
         SandboxExtension::createHandleForMachLookup("com.apple.AGXCompilerService", WTF::nullopt, compilerServiceExtensionHandle);
         parameters.compilerServiceExtensionHandle = WTFMove(compilerServiceExtensionHandle);
     }
+    
+    if (isInternalInstall()) {
+        SandboxExtension::Handle diagnosticsExtensionHandle;
+        SandboxExtension::createHandleForMachLookup("com.apple.diagnosticd", WTF::nullopt, diagnosticsExtensionHandle);
+        parameters.diagnosticsExtensionHandle = WTFMove(diagnosticsExtensionHandle);
+    }
 #endif
     
 #if PLATFORM(COCOA)

Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (253594 => 253595)


--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2019-12-17 00:02:04 UTC (rev 253594)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2019-12-17 00:02:50 UTC (rev 253595)
@@ -231,6 +231,9 @@
     if (parameters.compilerServiceExtensionHandle)
         SandboxExtension::consumePermanently(*parameters.compilerServiceExtensionHandle);
 
+    if (parameters.diagnosticsExtensionHandle)
+        SandboxExtension::consumePermanently(*parameters.diagnosticsExtensionHandle);
+
     if (parameters.contentFilterExtensionHandle)
         SandboxExtension::consumePermanently(*parameters.contentFilterExtensionHandle);
     ParentalControlsContentFilter::setHasConsumedSandboxExtension(parameters.contentFilterExtensionHandle.hasValue());
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to