Title: [290591] trunk/Source/WebKit
Revision
290591
Author
[email protected]
Date
2022-02-28 02:18:27 -0800 (Mon, 28 Feb 2022)

Log Message

RemoteVideoFrameObjectHeap should process its IPC messages in a background thread
https://bugs.webkit.org/show_bug.cgi?id=237198

Reviewed by Darin Adler.

Minor refactoring to have addWorkQueueMessageReceiver take a reference instead of a pointer.
Make RemoteVideoFrameObjectHeap become a WorkQueueMessageReceiver.
This ensures that a main thread hang in GPUProcess will not block big memory releases or WebProcess access to pixel buffers.

No observable change of behavior.

* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::videoFrameObjectHeap const):
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::remoteVideoFrameObjectHeapQueue):
(WebKit::RemoteVideoFrameObjectHeap::create):
(WebKit::RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
(WebKit::RemoteVideoFrameObjectHeap::close):
(WebKit::RemoteVideoFrameObjectHeap::releaseVideoFrame):
(WebKit::RemoteVideoFrameObjectHeap::getVideoFrameBuffer):
(WebKit::RemoteVideoFrameObjectHeap::pixelBuffer):
(WebKit::RemoteVideoFrameObjectHeap::stopListeningForIPC): Deleted.
* GPUProcess/media/RemoteVideoFrameObjectHeap.h:
* NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::addConnection):
* NetworkProcess/WebStorage/StorageManagerSet.cpp:
(WebKit::StorageManagerSet::addConnection):
* NetworkProcess/storage/NetworkStorageManager.cpp:
(WebKit::NetworkStorageManager::startReceivingMessageFromConnection):
* NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp:
(WebKit::RTCDataChannelRemoteManagerProxy::registerConnectionToWebProcess):
* Platform/IPC/Connection.cpp:
(IPC::Connection::addWorkQueueMessageReceiver):
* Platform/IPC/Connection.h:
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::initializeConnection):
* WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
(WebKit::RemoteAudioSourceProviderManager::setConnection):
* WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
(WebKit::RemoteVideoFrameObjectHeapProxyProcessor::RemoteVideoFrameObjectHeapProxyProcessor):
* WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp:
(WebKit::WebInspectorInterruptDispatcher::initializeConnection):
* WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp:
(WebKit::RTCDataChannelRemoteManager::setConnection):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::initializeConnection):
* WebProcess/WebPage/ViewUpdateDispatcher.cpp:
(WebKit::ViewUpdateDispatcher::initializeConnection):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ChangeLog (290590 => 290591)


--- trunk/Source/WebKit/ChangeLog	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/ChangeLog	2022-02-28 10:18:27 UTC (rev 290591)
@@ -1,5 +1,59 @@
 2022-02-28  Youenn Fablet  <[email protected]>
 
+        RemoteVideoFrameObjectHeap should process its IPC messages in a background thread
+        https://bugs.webkit.org/show_bug.cgi?id=237198
+
+        Reviewed by Darin Adler.
+
+        Minor refactoring to have addWorkQueueMessageReceiver take a reference instead of a pointer.
+        Make RemoteVideoFrameObjectHeap become a WorkQueueMessageReceiver.
+        This ensures that a main thread hang in GPUProcess will not block big memory releases or WebProcess access to pixel buffers.
+
+        No observable change of behavior.
+
+        * GPUProcess/GPUConnectionToWebProcess.cpp:
+        (WebKit::GPUConnectionToWebProcess::didClose):
+        (WebKit::GPUConnectionToWebProcess::videoFrameObjectHeap const):
+        * GPUProcess/GPUConnectionToWebProcess.h:
+        * GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
+        (WebKit::remoteVideoFrameObjectHeapQueue):
+        (WebKit::RemoteVideoFrameObjectHeap::create):
+        (WebKit::RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap):
+        (WebKit::RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap):
+        (WebKit::RemoteVideoFrameObjectHeap::close):
+        (WebKit::RemoteVideoFrameObjectHeap::releaseVideoFrame):
+        (WebKit::RemoteVideoFrameObjectHeap::getVideoFrameBuffer):
+        (WebKit::RemoteVideoFrameObjectHeap::pixelBuffer):
+        (WebKit::RemoteVideoFrameObjectHeap::stopListeningForIPC): Deleted.
+        * GPUProcess/media/RemoteVideoFrameObjectHeap.h:
+        * NetworkProcess/IndexedDB/WebIDBServer.cpp:
+        (WebKit::WebIDBServer::addConnection):
+        * NetworkProcess/WebStorage/StorageManagerSet.cpp:
+        (WebKit::StorageManagerSet::addConnection):
+        * NetworkProcess/storage/NetworkStorageManager.cpp:
+        (WebKit::NetworkStorageManager::startReceivingMessageFromConnection):
+        * NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp:
+        (WebKit::RTCDataChannelRemoteManagerProxy::registerConnectionToWebProcess):
+        * Platform/IPC/Connection.cpp:
+        (IPC::Connection::addWorkQueueMessageReceiver):
+        * Platform/IPC/Connection.h:
+        * UIProcess/mac/SecItemShimProxy.cpp:
+        (WebKit::SecItemShimProxy::initializeConnection):
+        * WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp:
+        (WebKit::RemoteAudioSourceProviderManager::setConnection):
+        * WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
+        (WebKit::RemoteVideoFrameObjectHeapProxyProcessor::RemoteVideoFrameObjectHeapProxyProcessor):
+        * WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp:
+        (WebKit::WebInspectorInterruptDispatcher::initializeConnection):
+        * WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp:
+        (WebKit::RTCDataChannelRemoteManager::setConnection):
+        * WebProcess/WebPage/EventDispatcher.cpp:
+        (WebKit::EventDispatcher::initializeConnection):
+        * WebProcess/WebPage/ViewUpdateDispatcher.cpp:
+        (WebKit::ViewUpdateDispatcher::initializeConnection):
+
+2022-02-28  Youenn Fablet  <[email protected]>
+
         Ensure RemoteMediaPlayerProxy sets its resource owner to pixel buffers created by its player
         https://bugs.webkit.org/show_bug.cgi?id=237200
 

Modified: trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp (290590 => 290591)


--- trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -248,7 +248,7 @@
     , m_captureOrigin(SecurityOrigin::createUnique())
 #endif
 #if ENABLE(VIDEO)
-    , m_videoFrameObjectHeap(RemoteVideoFrameObjectHeap::create(*this))
+    , m_videoFrameObjectHeap(RemoteVideoFrameObjectHeap::create(m_connection.get()))
 #endif
 #if PLATFORM(COCOA) && USE(LIBWEBRTC)
     , m_libWebRTCCodecsProxy(LibWebRTCCodecsProxy::create(*this))
@@ -306,7 +306,7 @@
     }
 #endif
 #if ENABLE(VIDEO)
-    m_videoFrameObjectHeap.reset();
+    m_videoFrameObjectHeap->close();
 #endif
     // RemoteRenderingBackend objects ref their GPUConnectionToWebProcess so we need to make sure
     // to break the reference cycle by destroying them.

Modified: trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp (290590 => 290591)


--- trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -27,10 +27,10 @@
 #include "RemoteVideoFrameObjectHeap.h"
 
 #if ENABLE(GPU_PROCESS) && ENABLE(VIDEO)
-#include "GPUConnectionToWebProcess.h"
 #include "RemoteVideoFrameObjectHeapMessages.h"
 #include "RemoteVideoFrameObjectHeapProxyProcessorMessages.h"
 #include "RemoteVideoFrameProxy.h"
+#include <wtf/WorkQueue.h>
 
 #if PLATFORM(COCOA)
 #include <WebCore/MediaSampleAVFObjC.h>
@@ -40,41 +40,50 @@
 
 namespace WebKit {
 
-Ref<RemoteVideoFrameObjectHeap> RemoteVideoFrameObjectHeap::create(GPUConnectionToWebProcess& connectionToWebProcess)
+static WorkQueue& remoteVideoFrameObjectHeapQueue()
 {
-    return adoptRef(*new RemoteVideoFrameObjectHeap(connectionToWebProcess));
+    static NeverDestroyed queue = WorkQueue::create("org.webkit.RemoteVideoFrameObjectHeap", WorkQueue::QOS::UserInteractive);
+    return queue.get();
 }
 
-RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap(GPUConnectionToWebProcess& connectionToWebProcess)
-    : m_gpuConnectionToWebProcess(&connectionToWebProcess)
-    , m_connection(connectionToWebProcess.connection())
+Ref<RemoteVideoFrameObjectHeap> RemoteVideoFrameObjectHeap::create(Ref<IPC::Connection>&& connection)
 {
-    m_gpuConnectionToWebProcess->messageReceiverMap().addMessageReceiver(Messages::RemoteVideoFrameObjectHeap::messageReceiverName(), *this);
+    auto heap = adoptRef(*new RemoteVideoFrameObjectHeap(WTFMove(connection)));
+    heap->m_connection->addWorkQueueMessageReceiver(Messages::RemoteVideoFrameObjectHeap::messageReceiverName(), remoteVideoFrameObjectHeapQueue(), heap);
+    return heap;
 }
 
+RemoteVideoFrameObjectHeap::RemoteVideoFrameObjectHeap(Ref<IPC::Connection>&& connection)
+    : m_connection(WTFMove(connection))
+{
+}
+
 RemoteVideoFrameObjectHeap::~RemoteVideoFrameObjectHeap()
 {
-    ASSERT(!m_gpuConnectionToWebProcess);
+    ASSERT(m_isClosed);
 }
 
-void RemoteVideoFrameObjectHeap::stopListeningForIPC(Ref<RemoteVideoFrameObjectHeap>&& refFromConnection)
+void RemoteVideoFrameObjectHeap::close()
 {
     assertIsMainThread();
+
+    if (m_isClosed)
+        return;
+
+    m_isClosed = true;
+    m_connection->removeWorkQueueMessageReceiver(Messages::RemoteVideoFrameObjectHeap::messageReceiverName());
+
 #if PLATFORM(COCOA)
     m_sharedVideoFrameWriter.disable();
 #endif
 
-    if (auto* gpuConnectionToWebProcess = std::exchange(m_gpuConnectionToWebProcess, nullptr)) {
-        gpuConnectionToWebProcess->messageReceiverMap().removeMessageReceiver(Messages::RemoteVideoFrameObjectHeap::messageReceiverName());
-        // Clients might hold on to the ref after this happens. They should also stop themselves, but if they do not,
-        // avoid big memory leaks by clearing the frames. The clients should fail gracefully (do nothing) in case they fail to look up
-        // frames.
-        m_heap.clear();
-        // TODO: add can happen after stopping.
-    }
+    // Clients might hold on to the ref after this happens. They should also stop themselves, but if they do not,
+    // avoid big memory leaks by clearing the frames. The clients should fail gracefully (do nothing) in case they fail to look up
+    // frames.
+    m_heap.clear();
+    // TODO: add can happen after stopping.
 }
 
-
 RemoteVideoFrameProxy::Properties RemoteVideoFrameObjectHeap::add(Ref<WebCore::MediaSample>&& frame)
 {
     auto write = RemoteVideoFrameWriteReference::generateForAdd();
@@ -86,7 +95,8 @@
 
 void RemoteVideoFrameObjectHeap::releaseVideoFrame(RemoteVideoFrameWriteReference&& write)
 {
-    assertIsMainThread();
+    assertIsCurrent(remoteVideoFrameObjectHeapQueue());
+
     m_heap.retireRemove(WTFMove(write));
 }
 
@@ -93,6 +103,8 @@
 #if PLATFORM(COCOA)
 void RemoteVideoFrameObjectHeap::getVideoFrameBuffer(RemoteVideoFrameReadReference&& read)
 {
+    assertIsCurrent(remoteVideoFrameObjectHeapQueue());
+
     auto identifier = read.identifier();
     auto videoFrame = m_heap.retire(WTFMove(read), 0_s);
 
@@ -122,6 +134,8 @@
 
 void RemoteVideoFrameObjectHeap::pixelBuffer(RemoteVideoFrameReadReference&& read, CompletionHandler<void(RetainPtr<CVPixelBufferRef>)>&& completionHandler)
 {
+    assertIsCurrent(remoteVideoFrameObjectHeapQueue());
+
     auto videoFrame = m_heap.retire(WTFMove(read), 0_s);
     if (!videoFrame) {
         ASSERT_IS_TESTING_IPC();
@@ -133,7 +147,6 @@
     ASSERT(pixelBuffer);
     completionHandler(WTFMove(pixelBuffer));
 }
-
 #endif
 
 }

Modified: trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h (290590 => 290591)


--- trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h	2022-02-28 10:18:27 UTC (rev 290591)
@@ -26,10 +26,10 @@
 #pragma once
 
 #if ENABLE(GPU_PROCESS) && ENABLE(VIDEO)
+#include "Connection.h"
 #include "RemoteVideoFrameProxy.h"
 #include "ThreadSafeObjectHeap.h"
 #include <WebCore/MediaSample.h>
-#include <wtf/ThreadSafeRefCounted.h>
 
 #if PLATFORM(COCOA)
 #include "SharedVideoFrame.h"
@@ -36,21 +36,21 @@
 #endif
 
 namespace WebKit {
-class GPUConnectionToWebProcess;
 
 // Holds references to all VideoFrame instances that are mapped from GPU process to Web process.
-class RemoteVideoFrameObjectHeap final : public ThreadSafeRefCounted<RemoteVideoFrameObjectHeap>, private IPC::MessageReceiver {
+class RemoteVideoFrameObjectHeap final : public IPC::Connection::WorkQueueMessageReceiver {
 public:
-    static Ref<RemoteVideoFrameObjectHeap> create(GPUConnectionToWebProcess&);
+    static Ref<RemoteVideoFrameObjectHeap> create(Ref<IPC::Connection>&&);
     ~RemoteVideoFrameObjectHeap();
 
+    void close();
     RemoteVideoFrameProxy::Properties add(Ref<WebCore::MediaSample>&&);
     RefPtr<WebCore::MediaSample> get(RemoteVideoFrameReadReference&& read) { return m_heap.retire(WTFMove(read), 0_s); }
 
-    void stopListeningForIPC(Ref<RemoteVideoFrameObjectHeap>&& refFromConnection);
+    void stopListeningForIPC(Ref<RemoteVideoFrameObjectHeap>&&) { close(); }
 
 private:
-    explicit RemoteVideoFrameObjectHeap(GPUConnectionToWebProcess&);
+    explicit RemoteVideoFrameObjectHeap(Ref<IPC::Connection>&&);
 
     // IPC::MessageReceiver overrides.
     void didReceiveMessage(IPC::Connection&, IPC::Decoder&) final;
@@ -63,15 +63,13 @@
     void pixelBuffer(RemoteVideoFrameReadReference&&, CompletionHandler<void(RetainPtr<CVPixelBufferRef>)>&&);
 #endif
 
-    GPUConnectionToWebProcess* m_gpuConnectionToWebProcess WTF_GUARDED_BY_CAPABILITY(mainThread);
     const Ref<IPC::Connection> m_connection;
     ThreadSafeObjectHeap<RemoteVideoFrameIdentifier, RefPtr<WebCore::MediaSample>> m_heap;
 #if PLATFORM(COCOA)
     SharedVideoFrameWriter m_sharedVideoFrameWriter;
 #endif
+    bool m_isClosed { false };
 };
 
-
-
 }
 #endif

Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp (290590 => 290591)


--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -410,7 +410,7 @@
         m_server->registerConnection(iter->value->connectionToClient());
     });
     m_connections.add(connection);
-    connection.addWorkQueueMessageReceiver(Messages::WebIDBServer::messageReceiverName(), m_queue.get(), this);
+    connection.addWorkQueueMessageReceiver(Messages::WebIDBServer::messageReceiverName(), m_queue.get(), *this);
 }
 
 void WebIDBServer::removeConnection(IPC::Connection& connection)

Modified: trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp (290590 => 290591)


--- trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManagerSet.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -102,7 +102,7 @@
     auto connectionID = connection.uniqueID();
     ASSERT(!m_connections.contains(connectionID));
     if (m_connections.add(connectionID).isNewEntry)
-        connection.addWorkQueueMessageReceiver(Messages::StorageManagerSet::messageReceiverName(), m_queue.get(), this);
+        connection.addWorkQueueMessageReceiver(Messages::StorageManagerSet::messageReceiverName(), m_queue.get(), *this);
 }
 
 void StorageManagerSet::removeConnection(IPC::Connection& connection)

Modified: trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp (290590 => 290591)


--- trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/NetworkProcess/storage/NetworkStorageManager.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -175,7 +175,7 @@
 {
     ASSERT(RunLoop::isMain());
 
-    connection.addWorkQueueMessageReceiver(Messages::NetworkStorageManager::messageReceiverName(), m_queue.get(), this);
+    connection.addWorkQueueMessageReceiver(Messages::NetworkStorageManager::messageReceiverName(), m_queue.get(), *this);
     m_connections.add(connection);
 }
 

Modified: trunk/Source/WebKit/NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp (290590 => 290591)


--- trunk/Source/WebKit/NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/RTCDataChannelRemoteManagerProxy.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -44,7 +44,7 @@
         ASSERT(!m_webProcessConnections.contains(identifier));
         m_webProcessConnections.add(identifier, connectionID);
     });
-    connectionToWebProcess.connection().addWorkQueueMessageReceiver(Messages::RTCDataChannelRemoteManagerProxy::messageReceiverName(), m_queue, this);
+    connectionToWebProcess.connection().addWorkQueueMessageReceiver(Messages::RTCDataChannelRemoteManagerProxy::messageReceiverName(), m_queue, *this);
 }
 
 void RTCDataChannelRemoteManagerProxy::unregisterConnectionToWebProcess(NetworkConnectionToWebProcess& connectionToWebProcess)

Modified: trunk/Source/WebKit/Platform/IPC/Connection.cpp (290590 => 290591)


--- trunk/Source/WebKit/Platform/IPC/Connection.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/Platform/IPC/Connection.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -363,9 +363,9 @@
     m_receiveQueues.add(receiveQueue, receiverName, destinationID);
 }
 
-void Connection::addWorkQueueMessageReceiver(ReceiverName receiverName, WorkQueue& workQueue, WorkQueueMessageReceiver* receiver, uint64_t destinationID)
+void Connection::addWorkQueueMessageReceiver(ReceiverName receiverName, WorkQueue& workQueue, WorkQueueMessageReceiver& receiver, uint64_t destinationID)
 {
-    auto receiveQueue = makeUnique<WorkQueueMessageReceiverQueue>(workQueue, *receiver);
+    auto receiveQueue = makeUnique<WorkQueueMessageReceiverQueue>(workQueue, receiver);
     Locker incomingMessagesLocker { m_incomingMessagesLock };
     enqueueMatchingMessagesToMessageReceiveQueue(*receiveQueue, receiverName, destinationID);
     m_receiveQueues.add(WTFMove(receiveQueue), receiverName, destinationID);

Modified: trunk/Source/WebKit/Platform/IPC/Connection.h (290590 => 290591)


--- trunk/Source/WebKit/Platform/IPC/Connection.h	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/Platform/IPC/Connection.h	2022-02-28 10:18:27 UTC (rev 290591)
@@ -234,7 +234,7 @@
 
     // Adds a message receieve queue that dispatches through WorkQueue to WorkQueueMessageReceiver.
     // Keeps the WorkQueue and the WorkQueueMessageReceiver alive. Dispatched tasks keep WorkQueueMessageReceiver alive.
-    void addWorkQueueMessageReceiver(ReceiverName, WorkQueue&, WorkQueueMessageReceiver*, uint64_t destinationID = 0);
+    void addWorkQueueMessageReceiver(ReceiverName, WorkQueue&, WorkQueueMessageReceiver&, uint64_t destinationID = 0);
     void removeWorkQueueMessageReceiver(ReceiverName receiverName, uint64_t destinationID = 0) { removeMessageReceiveQueue(receiverName, destinationID); }
 
     // Adds a message receieve queue that dispatches through ThreadMessageReceiver.

Modified: trunk/Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp (290590 => 290591)


--- trunk/Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/UIProcess/mac/SecItemShimProxy.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -58,7 +58,7 @@
 
 void SecItemShimProxy::initializeConnection(IPC::Connection& connection)
 {
-    connection.addWorkQueueMessageReceiver(Messages::SecItemShimProxy::messageReceiverName(), m_queue.get(), this);
+    connection.addWorkQueueMessageReceiver(Messages::SecItemShimProxy::messageReceiverName(), m_queue.get(), *this);
 }
 
 void SecItemShimProxy::secItemRequest(const SecItemRequestData& request, CompletionHandler<void(std::optional<SecItemResponseData>&&)>&& response)

Modified: trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/GPU/media/RemoteAudioSourceProviderManager.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -64,7 +64,7 @@
     m_connection = WTFMove(connection);
 
     if (m_connection)
-        m_connection->addWorkQueueMessageReceiver(Messages::RemoteAudioSourceProviderManager::messageReceiverName(), m_queue, this);
+        m_connection->addWorkQueueMessageReceiver(Messages::RemoteAudioSourceProviderManager::messageReceiverName(), m_queue, *this);
 }
 
 void RemoteAudioSourceProviderManager::addProvider(Ref<RemoteAudioSourceProvider>&& provider)

Modified: trunk/Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -45,7 +45,7 @@
     , m_queue(WorkQueue::create("RemoteVideoFrameObjectHeapProxy", WorkQueue::QOS::UserInteractive))
 {
     connection.addClient(*this);
-    connection.connection().addWorkQueueMessageReceiver(Messages::RemoteVideoFrameObjectHeapProxyProcessor::messageReceiverName(), m_queue, this);
+    connection.connection().addWorkQueueMessageReceiver(Messages::RemoteVideoFrameObjectHeapProxyProcessor::messageReceiverName(), m_queue, *this);
 }
 
 RemoteVideoFrameObjectHeapProxyProcessor::~RemoteVideoFrameObjectHeapProxyProcessor()

Modified: trunk/Source/WebKit/WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/Inspector/WebInspectorInterruptDispatcher.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -50,7 +50,7 @@
 
 void WebInspectorInterruptDispatcher::initializeConnection(IPC::Connection* connection)
 {
-    connection->addWorkQueueMessageReceiver(Messages::WebInspectorInterruptDispatcher::messageReceiverName(), m_queue.get(), this);
+    connection->addWorkQueueMessageReceiver(Messages::WebInspectorInterruptDispatcher::messageReceiverName(), m_queue.get(), *this);
 }
 
 void WebInspectorInterruptDispatcher::notifyNeedDebuggerBreak()

Modified: trunk/Source/WebKit/WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/Network/webrtc/RTCDataChannelRemoteManager.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -61,7 +61,7 @@
     m_connection = connection;
 
     if (m_connection)
-        m_connection->addWorkQueueMessageReceiver(Messages::RTCDataChannelRemoteManager::messageReceiverName(), m_queue, this);
+        m_connection->addWorkQueueMessageReceiver(Messages::RTCDataChannelRemoteManager::messageReceiverName(), m_queue, *this);
 }
 
 bool RTCDataChannelRemoteManager::connectToRemoteSource(WebCore::RTCDataChannelIdentifier localIdentifier, WebCore::RTCDataChannelIdentifier remoteIdentifier)

Modified: trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -98,7 +98,7 @@
 
 void EventDispatcher::initializeConnection(IPC::Connection* connection)
 {
-    connection->addWorkQueueMessageReceiver(Messages::EventDispatcher::messageReceiverName(), m_queue.get(), this);
+    connection->addWorkQueueMessageReceiver(Messages::EventDispatcher::messageReceiverName(), m_queue.get(), *this);
 }
 
 void EventDispatcher::internalWheelEvent(PageIdentifier pageID, const WebWheelEvent& wheelEvent, RectEdges<bool> rubberBandableEdges, WheelEventOrigin wheelEventOrigin)

Modified: trunk/Source/WebKit/WebProcess/WebPage/ViewUpdateDispatcher.cpp (290590 => 290591)


--- trunk/Source/WebKit/WebProcess/WebPage/ViewUpdateDispatcher.cpp	2022-02-28 10:03:51 UTC (rev 290590)
+++ trunk/Source/WebKit/WebProcess/WebPage/ViewUpdateDispatcher.cpp	2022-02-28 10:18:27 UTC (rev 290591)
@@ -53,7 +53,7 @@
 
 void ViewUpdateDispatcher::initializeConnection(IPC::Connection* connection)
 {
-    connection->addWorkQueueMessageReceiver(Messages::ViewUpdateDispatcher::messageReceiverName(), m_queue.get(), this);
+    connection->addWorkQueueMessageReceiver(Messages::ViewUpdateDispatcher::messageReceiverName(), m_queue.get(), *this);
 }
 
 void ViewUpdateDispatcher::visibleContentRectUpdate(WebCore::PageIdentifier pageID, const VisibleContentRectUpdateInfo& visibleContentRectUpdateInfo)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to