Title: [276185] trunk/Source/WebKit
Revision
276185
Author
[email protected]
Date
2021-04-16 17:38:02 -0700 (Fri, 16 Apr 2021)

Log Message

The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=224701

Reviewed by Eric Carlson.

The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess,
just to unregister itself. If the GPUProcess is not running, then the
RemoteRemoteCommandListener is not registered.

* WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
(WebKit::RemoteRemoteCommandListener::~RemoteRemoteCommandListener):
(WebKit::RemoteRemoteCommandListener::gpuProcessConnectionDidClose):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (276184 => 276185)


--- trunk/Source/WebKit/ChangeLog	2021-04-17 00:14:03 UTC (rev 276184)
+++ trunk/Source/WebKit/ChangeLog	2021-04-17 00:38:02 UTC (rev 276185)
@@ -1,3 +1,18 @@
+2021-04-16  Chris Dumez  <[email protected]>
+
+        The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess
+        https://bugs.webkit.org/show_bug.cgi?id=224701
+
+        Reviewed by Eric Carlson.
+
+        The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess,
+        just to unregister itself. If the GPUProcess is not running, then the
+        RemoteRemoteCommandListener is not registered.
+
+        * WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
+        (WebKit::RemoteRemoteCommandListener::~RemoteRemoteCommandListener):
+        (WebKit::RemoteRemoteCommandListener::gpuProcessConnectionDidClose):
+
 2021-04-16  Jiewen Tan  <[email protected]>
 
         Pass credential name to the WebAuthn UI during registration

Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListener.cpp (276184 => 276185)


--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListener.cpp	2021-04-17 00:14:03 UTC (rev 276184)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListener.cpp	2021-04-17 00:38:02 UTC (rev 276185)
@@ -56,13 +56,15 @@
 
 RemoteRemoteCommandListener::~RemoteRemoteCommandListener()
 {
-    auto& connection = m_process.ensureGPUProcessConnection();
-    connection.messageReceiverMap().removeMessageReceiver(*this);
-    connection.connection().send(Messages::GPUConnectionToWebProcess::ReleaseRemoteCommandListener(m_identifier), 0);
+    if (auto* gpuProcessConnection = m_process.existingGPUProcessConnection()) {
+        gpuProcessConnection->messageReceiverMap().removeMessageReceiver(*this);
+        gpuProcessConnection->connection().send(Messages::GPUConnectionToWebProcess::ReleaseRemoteCommandListener(m_identifier), 0);
+    }
 }
 
 void RemoteRemoteCommandListener::gpuProcessConnectionDidClose(GPUProcessConnection&)
 {
+    // FIXME: Should this relaunch the GPUProcess and re-create the RemoteCommandListener?
 }
 
 void RemoteRemoteCommandListener::didReceiveRemoteControlCommand(WebCore::PlatformMediaSession::RemoteControlCommandType type, const PlatformMediaSession::RemoteCommandArgument& argument)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to