Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 2c3c1f0afc15e23fcac517543fe80b8c43bcdfaf
      
https://github.com/WebKit/WebKit/commit/2c3c1f0afc15e23fcac517543fe80b8c43bcdfaf
  Author: Matt Woodrow <mattwood...@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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to