⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 276185 in webkit


Ignore:
Timestamp:
Apr 16, 2021, 5:38:02 PM (5 years ago)
Author:
Chris Dumez
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):

Location:
trunk/Source/WebKit
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit/ChangeLog

    r276184 r276185  
     12021-04-16  Chris Dumez  <cdumez@apple.com>
     2
     3        The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess
     4        https://bugs.webkit.org/show_bug.cgi?id=224701
     5
     6        Reviewed by Eric Carlson.
     7
     8        The RemoteRemoteCommandListener destructor should never (re-)launch the GPUProcess,
     9        just to unregister itself. If the GPUProcess is not running, then the
     10        RemoteRemoteCommandListener is not registered.
     11
     12        * WebProcess/GPU/media/RemoteRemoteCommandListener.cpp:
     13        (WebKit::RemoteRemoteCommandListener::~RemoteRemoteCommandListener):
     14        (WebKit::RemoteRemoteCommandListener::gpuProcessConnectionDidClose):
     15
    1162021-04-16  Jiewen Tan  <jiewen_tan@apple.com>
    217
  • trunk/Source/WebKit/WebProcess/GPU/media/RemoteRemoteCommandListener.cpp

    r273967 r276185  
    5757RemoteRemoteCommandListener::~RemoteRemoteCommandListener()
    5858{
    59     auto& connection = m_process.ensureGPUProcessConnection();
    60     connection.messageReceiverMap().removeMessageReceiver(*this);
    61     connection.connection().send(Messages::GPUConnectionToWebProcess::ReleaseRemoteCommandListener(m_identifier), 0);
     59    if (auto* gpuProcessConnection = m_process.existingGPUProcessConnection()) {
     60        gpuProcessConnection->messageReceiverMap().removeMessageReceiver(*this);
     61        gpuProcessConnection->connection().send(Messages::GPUConnectionToWebProcess::ReleaseRemoteCommandListener(m_identifier), 0);
     62    }
    6263}
    6364
    6465void RemoteRemoteCommandListener::gpuProcessConnectionDidClose(GPUProcessConnection&)
    6566{
     67    // FIXME: Should this relaunch the GPUProcess and re-create the RemoteCommandListener?
    6668}
    6769
Note: See TracChangeset for help on using the changeset viewer.