Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e5215d63d0216296a4378d4d70a4888da093da73
https://github.com/WebKit/WebKit/commit/e5215d63d0216296a4378d4d70a4888da093da73
Author: Matt Woodrow <[email protected]>
Date: 2025-11-04 (Tue, 04 Nov 2025)
Changed paths:
M Source/WebKit/CMakeLists.txt
M Source/WebKit/DerivedSources-input.xcfilelist
M Source/WebKit/DerivedSources-output.xcfilelist
M Source/WebKit/DerivedSources.make
M Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp
M Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.h
M Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.messages.in
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in
M Source/WebKit/Platform/IPC/StreamClientConnection.h
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerTree.serialization.in
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithInProcessRenderingBackingStore.mm
M
Source/WebKit/Shared/RemoteLayerTree/RemoteLayerWithRemoteRenderingBackingStore.mm
R Source/WebKit/Shared/RemoteLayerTree/SwapBuffersDisplayRequirement.h
M Source/WebKit/Shared/graphics/ImageBufferSet.h
M Source/WebKit/SourcesCocoa.txt
M Source/WebKit/WebKit.xcodeproj/project.pbxproj
M Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.h
M
Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.serialization.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.h
R
Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.messages.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp
M Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h
M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp
Log Message:
-----------
Use an async reply for RemoteImageBufferSet::endPrepareForDisplay.
https://bugs.webkit.org/show_bug.cgi?id=301828
<rdar://problem/163899986>
Reviewed by Kimmo Kinnunen.
This currently uses a separate message (didPrepareForDisplay) as a reply, which
gets delivered to a work queue.
We should be able to use sendWithAsyncReplyOnDispatcher instead, to more closely
link the message and its reply.
This also removes local state in RemoteImageBufferSetProxy tracking the pending
reply message, which should simplify the future case where there are multiple in
flight.
Tests: Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp
Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h
Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp
* Source/WebKit/CMakeLists.txt:
* Source/WebKit/DerivedSources-input.xcfilelist:
* Source/WebKit/DerivedSources-output.xcfilelist:
* Source/WebKit/DerivedSources.make:
* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.cpp:
(WebKit::RemoteImageBufferSet::endPrepareForDisplay):
* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.h:
* Source/WebKit/GPUProcess/graphics/RemoteImageBufferSet.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/Platform/IPC/StreamClientConnection.h:
(IPC::StreamClientConnection::sendWithAsyncReplyOnDispatcher):
* Source/WebKit/SourcesCocoa.txt:
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
*
Source/WebKit/WebProcess/GPU/graphics/PrepareBackingStoreBuffersData.serialization.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.cpp:
(WebKit::RemoteImageBufferSetProxy::sendWithAsyncReply):
(WebKit::RemoteImageBufferSetProxy::prepareToDisplay):
(WebKit::RemoteImageBufferSetProxy::close):
(WebKit::RemoteImageBufferSetProxy::flushFrontBufferAsync):
(WebKit::RemoteImageBufferSetProxy::willPrepareForDisplay):
(WebKit::RemoteImageBufferSetProxy::disconnect):
(WebKit::RemoteImageBufferSetProxy::didPrepareForDisplay): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.h:
(WebKit::RemoteImageBufferSetProxy::generation const):
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferSetProxy.messages.in:
Removed.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
* Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::create): Deleted.
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::beginShutdown): Deleted.
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::waitUntilShutdown):
Deleted.
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::WorkQueueWithShutdown):
Deleted.
(TestWebKitAPI::AutoWorkQueue::AutoWorkQueue): Deleted.
(TestWebKitAPI::AutoWorkQueue::queue): Deleted.
(TestWebKitAPI::AutoWorkQueue::~AutoWorkQueue): Deleted.
* Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h:
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::create):
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::beginShutdown):
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::waitUntilShutdown):
(TestWebKitAPI::AutoWorkQueue::WorkQueueWithShutdown::WorkQueueWithShutdown):
(TestWebKitAPI::AutoWorkQueue::AutoWorkQueue):
(TestWebKitAPI::AutoWorkQueue::queue):
(TestWebKitAPI::AutoWorkQueue::~AutoWorkQueue):
* Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp:
Canonical link: https://commits.webkit.org/302557@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications