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)