[webkit-changes] [WebKit/WebKit] 2c3c1f: Force consumers of Connection::waitForAndDispatchI...
mattwoodrow
noreply at github.com
Tue Aug 22 20:26:32 PDT 2023
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 2c3c1f0afc15e23fcac517543fe80b8c43bcdfaf
https://github.com/WebKit/WebKit/commit/2c3c1f0afc15e23fcac517543fe80b8c43bcdfaf
Author: Matt Woodrow <mattwoodrow at apple.com>
Date: 2023-08-22 (Tue, 22 Aug 2023)
Changed paths:
M Source/WebKit/Platform/IPC/Connection.h
M Source/WebKit/Scripts/webkit/messages.py
M Source/WebKit/Scripts/webkit/tests/TestWithCVPixelBufferMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithEnabledIfMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithIfMessageMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithImageDataMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithLegacyReceiverMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithSemaphoreMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamBatchedMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamBufferMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithStreamServerConnectionHandleMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithSuperclassMessages.h
M Source/WebKit/Scripts/webkit/tests/TestWithoutAttributesMessages.h
M Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in
M Source/WebKit/UIProcess/WebPageProxy.messages.in
M Source/WebKit/WebProcess/GPU/GPUProcessConnection.messages.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.messages.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.messages.in
M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in
M Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.messages.in
M Source/WebKit/WebProcess/WebPage/WebPage.messages.in
M Source/WebKit/WebProcess/WebProcess.messages.in
M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp
M Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h
Log Message:
-----------
Force consumers of Connection::waitForAndDispatchImmediately to declare usage in the messages.in file
https://bugs.webkit.org/show_bug.cgi?id=260053
Reviewed by Kimmo Kinnunen.
waitForAndDispatchImmediately causes the waited on message to be delivered synchronous, and breaks expectations about IPC messages being delivered in order.
Usage of waitForAndDispatchImmediately can be subtle (if not explicitly searched for), so it's easy to add new IPC messages that expect in-order delivery.
This adds required 'CanDispatchOutOfOrder' and 'ReplyCanDispatchOutOfOrder' annotations to the messages.in files, before messages can be used with
waitForAndDispatchImmediately.
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::waitForAndDispatchImmediately):
(IPC::Connection::waitForAsyncReplyAndDispatchImmediately):
* Source/WebKit/Scripts/webkit/messages.py:
(message_to_struct_declaration):
* Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.messages.in:
* Source/WebKit/UIProcess/WebPageProxy.messages.in:
* Source/WebKit/WebProcess/GPU/GPUProcessConnection.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.messages.in:
* Source/WebKit/WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.messages.in:
* Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
* Source/WebKit/WebProcess/WebProcess.messages.in:
* Tools/TestWebKitAPI/Tests/IPC/IPCTestUtilities.h:
Canonical link: https://commits.webkit.org/267178@main
More information about the webkit-changes
mailing list