[webkit-changes] [WebKit/WebKit] 7ae4b4: Support running RemoteRenderingBackendProxy object...
mattwoodrow
noreply at github.com
Thu Dec 1 18:09:28 PST 2022
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 7ae4b48cc67ab0e8e4dcc4e7bca877e8f97e6a1b
https://github.com/WebKit/WebKit/commit/7ae4b48cc67ab0e8e4dcc4e7bca877e8f97e6a1b
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2022-12-01 (Thu, 01 Dec 2022)
Changed paths:
M Source/WebKit/Platform/IPC/StreamClientConnection.cpp
M Source/WebKit/Platform/IPC/StreamClientConnection.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h
M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp
M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp
Log Message:
-----------
Support running RemoteRenderingBackendProxy objects per-thread.
https://bugs.webkit.org/show_bug.cgi?id=248418
Reviewed by Kimmo Kinnunen.
Changes StreamClientConnection to use an IPC::Connection::Client rather than MessageReceiver for providing
callbacks to the consumer.
Converts RemoteRenderingBackendProxy and RemoteGraphicsContextGLProxy to use their StreamClientConnection to receive
notifications about the GPU process crashing from their StreamClientConnections rather than their GPUProcessConnection.
Makes RemoteRenderingBackendProxy create its StreamClientConnection using the provided SerialFunctionDispatcher, so that
we can send and receive all messages from that.
* Source/WebKit/Platform/IPC/StreamClientConnection.cpp:
(IPC::StreamClientConnection::DedicatedConnectionClient::DedicatedConnectionClient):
(IPC::StreamClientConnection::DedicatedConnectionClient::didClose):
(IPC::StreamClientConnection::open):
* Source/WebKit/Platform/IPC/StreamClientConnection.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
(WebKit::RemoteGraphicsContextGLProxy::RemoteGraphicsContextGLProxy):
(WebKit::RemoteGraphicsContextGLProxy::paintCompositedResultsToVideoFrame):
(WebKit::RemoteGraphicsContextGLProxy::didClose):
(WebKit::RemoteGraphicsContextGLProxy::abandonGpuProcess):
(WebKit::RemoteGraphicsContextGLProxy::disconnectGpuProcessIfNeeded):
(WebKit::RemoteGraphicsContextGLProxy::gpuProcessConnectionDidClose): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
(WebKit::RemoteGraphicsContextGLProxy::isContextLost const):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteImageBufferProxy::assertDispatcherIsCurrent const):
(WebKit::RemoteImageBufferProxy::hasPendingFlush const):
(WebKit::RemoteImageBufferProxy::didFlush):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::create):
(WebKit::RemoteRenderingBackendProxy::RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::~RemoteRenderingBackendProxy):
(WebKit::RemoteRenderingBackendProxy::ensureGPUProcessConnection):
(WebKit::RemoteRenderingBackendProxy::didClose):
(WebKit::RemoteRenderingBackendProxy::disconnectGPUProcess):
(WebKit::RemoteRenderingBackendProxy::finalizeRenderingUpdate):
(WebKit::RemoteRenderingBackendProxy::didPaintLayers):
(WebKit::RemoteRenderingBackendProxy::gpuProcessConnectionDidClose): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
(WebKit::RemoteRenderingBackendProxy::isGPUProcessConnectionClosed const):
(WebKit::RemoteRenderingBackendProxy::dispatcher):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::RemoteGPUProxy):
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/cocoa/RemoteGraphicsContextGLProxyCocoa.mm:
(WebKit::RemoteGraphicsContextGLProxy::create):
* Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
* Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp:
Canonical link: https://commits.webkit.org/257266@main
More information about the webkit-changes
mailing list