Title: [257385] trunk/Source/WebKit
Revision
257385
Author
you...@apple.com
Date
2020-02-25 15:39:51 -0800 (Tue, 25 Feb 2020)

Log Message

Pass UIProcess PID to GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208197

Reviewed by Eric Carlson.

Parent PID is needed for PID forwarding done in MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary.
Send it from UIProcess to GPUProcess and initialize it at creation time of GPUProcess singleton.

* GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
* GPUProcess/GPUProcessCreationParameters.cpp:
(WebKit::GPUProcessCreationParameters::encode const):
(WebKit::GPUProcessCreationParameters::decode):
* GPUProcess/GPUProcessCreationParameters.h:
* UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::singleton):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (257384 => 257385)


--- trunk/Source/WebKit/ChangeLog	2020-02-25 23:32:55 UTC (rev 257384)
+++ trunk/Source/WebKit/ChangeLog	2020-02-25 23:39:51 UTC (rev 257385)
@@ -1,5 +1,24 @@
 2020-02-25  Youenn Fablet  <you...@apple.com>
 
+        Pass UIProcess PID to GPUProcess
+        https://bugs.webkit.org/show_bug.cgi?id=208197
+
+        Reviewed by Eric Carlson.
+
+        Parent PID is needed for PID forwarding done in MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary.
+        Send it from UIProcess to GPUProcess and initialize it at creation time of GPUProcess singleton.
+
+        * GPUProcess/GPUProcess.cpp:
+        (WebKit::GPUProcess::initializeGPUProcess):
+        * GPUProcess/GPUProcessCreationParameters.cpp:
+        (WebKit::GPUProcessCreationParameters::encode const):
+        (WebKit::GPUProcessCreationParameters::decode):
+        * GPUProcess/GPUProcessCreationParameters.h:
+        * UIProcess/GPU/GPUProcessProxy.cpp:
+        (WebKit::GPUProcessProxy::singleton):
+
+2020-02-25  Youenn Fablet  <you...@apple.com>
+
         Change DTMF and mDNS candidates feature flags from experimental to internal
         https://bugs.webkit.org/show_bug.cgi?id=208131
 

Modified: trunk/Source/WebKit/GPUProcess/GPUProcess.cpp (257384 => 257385)


--- trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2020-02-25 23:32:55 UTC (rev 257384)
+++ trunk/Source/WebKit/GPUProcess/GPUProcess.cpp	2020-02-25 23:39:51 UTC (rev 257385)
@@ -42,6 +42,7 @@
 #include <WebCore/DeprecatedGlobalSettings.h>
 #include <WebCore/LogInitialization.h>
 #include <WebCore/MockAudioSharedUnit.h>
+#include <WebCore/RuntimeApplicationChecks.h>
 #include <wtf/Algorithms.h>
 #include <wtf/CallbackAggregator.h>
 #include <wtf/OptionSet.h>
@@ -121,6 +122,8 @@
     SandboxExtension::consumePermanently(parameters.tccSandboxExtensionHandle);
 #endif
 #endif
+
+    WebCore::setPresentingApplicationPID(parameters.parentPID);
 }
 
 void GPUProcess::prepareToSuspend(bool isSuspensionImminent, CompletionHandler<void()>&& completionHandler)

Modified: trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp (257384 => 257385)


--- trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp	2020-02-25 23:32:55 UTC (rev 257384)
+++ trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.cpp	2020-02-25 23:39:51 UTC (rev 257385)
@@ -49,6 +49,7 @@
     encoder << tccSandboxExtensionHandle;
 #endif
 #endif
+    encoder << parentPID;
 }
 
 bool GPUProcessCreationParameters::decode(IPC::Decoder& decoder, GPUProcessCreationParameters& result)
@@ -65,6 +66,8 @@
         return false;
 #endif
 #endif
+    if (!decoder.decode(result.parentPID))
+        return false;
     return true;
 }
 

Modified: trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h (257384 => 257385)


--- trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h	2020-02-25 23:32:55 UTC (rev 257384)
+++ trunk/Source/WebKit/GPUProcess/GPUProcessCreationParameters.h	2020-02-25 23:39:51 UTC (rev 257385)
@@ -28,7 +28,7 @@
 #if ENABLE(GPU_PROCESS)
 
 #include "SandboxExtension.h"
-
+#include <wtf/ProcessID.h>
 namespace IPC {
 class Decoder;
 class Encoder;
@@ -47,6 +47,7 @@
     SandboxExtension::Handle tccSandboxExtensionHandle;
 #endif
 #endif
+    ProcessID parentPID;
 
     void encode(IPC::Encoder&) const;
     static bool decode(IPC::Decoder&, GPUProcessCreationParameters&);

Modified: trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp (257384 => 257385)


--- trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2020-02-25 23:32:55 UTC (rev 257384)
+++ trunk/Source/WebKit/UIProcess/GPU/GPUProcessProxy.cpp	2020-02-25 23:39:51 UTC (rev 257385)
@@ -110,6 +110,8 @@
             SandboxExtension::createHandleForMachLookup("com.apple.tccd", WTF::nullopt, parameters.tccSandboxExtensionHandle);
 #endif
 #endif
+        parameters.parentPID = getCurrentProcessID();
+
         // Initialize the GPU process.
         gpuProcess->send(Messages::GPUProcess::InitializeGPUProcess(parameters), 0);
         gpuProcess->updateProcessAssertion();
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to