[webkit-changes] [WebKit/WebKit] 19a30a: IPC::StreamClientConnection should support sendWit...

Kimmo Kinnunen noreply at github.com
Mon Dec 12 10:16:23 PST 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 19a30ab35aa9d8d0ebbe7b1cd002b5573c306e81
      https://github.com/WebKit/WebKit/commit/19a30ab35aa9d8d0ebbe7b1cd002b5573c306e81
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2022-12-12 (Mon, 12 Dec 2022)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/StreamClientConnection.h
    M Source/WebKit/Platform/IPC/StreamServerConnection.h
    M Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp
    M Source/WebKit/Scripts/webkit/tests/MessageNames.cpp
    M Source/WebKit/Scripts/webkit/tests/MessageNames.h
    M Source/WebKit/Scripts/webkit/tests/TestWithStream.messages.in
    M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessageReceiver.cpp
    M Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h
    M Source/WebKit/Shared/IPCStreamTester.cpp
    M Source/WebKit/Shared/IPCStreamTester.h
    M Source/WebKit/Shared/IPCStreamTester.messages.in
    M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp

  Log Message:
  -----------
  IPC::StreamClientConnection should support sendWithAsyncReply()
https://bugs.webkit.org/show_bug.cgi?id=235965
rdar://problem/88636456>

Reviewed by Simon Fraser and Matt Woodrow.

Implement the sending async messages by:
- Sending the message as stream message if possible
  - Otherwise send as "out of stream" message
- Reply comes through the dedicated Connection

* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::addAsyncReplyHandler):
(IPC::Connection::sendMessageWithAsyncReply):
(IPC::Connection::dispatchMessage):
(IPC::CompletionHandler<void):
(IPC::addAsyncReplyHandler): Deleted.
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::waitForAsyncCallbackAndDispatchImmediately):
* Source/WebKit/Platform/IPC/StreamClientConnection.h:
(IPC::StreamClientConnection::send):
(IPC::StreamClientConnection::trySendStream):
(IPC::StreamClientConnection::sendWithAsyncReply): Deleted.
* Source/WebKit/Platform/IPC/StreamServerConnection.h:
(IPC::StreamServerConnection::sendAsyncReply):
* Source/WebKit/Scripts/webkit/tests/GeneratedSerializers.cpp:
(IPC::ArgumentCoder<Namespace::Subnamespace::StructName>::decode):
(IPC::ArgumentCoder<Namespace::OtherClass>::decode):
(IPC::ArgumentCoder<Namespace::ReturnRefClass>::decode):
(IPC::ArgumentCoder<WebCore::InheritsFrom>::decode):
(IPC::ArgumentCoder<WebCore::InheritanceGrandchild>::decode):
* Source/WebKit/Scripts/webkit/tests/MessageArgumentDescriptions.cpp:
(IPC::jsValueForArguments):
(IPC::jsValueForReplyArguments):
(IPC::messageArgumentDescriptions):
(IPC::messageReplyArgumentDescriptions):
* Source/WebKit/Scripts/webkit/tests/MessageNames.cpp:
(IPC::description):
(IPC::receiverName):
(IPC::messageAllowedWhenWaitingForSyncReply):
(WTF::void>):
* Source/WebKit/Scripts/webkit/tests/MessageNames.h:
* Source/WebKit/Scripts/webkit/tests/TestWithStream.messages.in:
* Source/WebKit/Scripts/webkit/tests/TestWithStreamMessageReceiver.cpp:
(WebKit::TestWithStream::didReceiveStreamMessage):
(IPC::jsValueForDecodedMessage<MessageName::TestWithStream_SendStringAsync>):
(IPC::jsValueForDecodedMessageReply<MessageName::TestWithStream_SendStringAsync>):
(IPC::jsValueForDecodedMessage<MessageName::TestWithStream_SendStringSync>):
(IPC::jsValueForDecodedMessageReply<MessageName::TestWithStream_SendStringSync>):
(IPC::jsValueForDecodedMessage<MessageName::TestWithStream_SendStringSynchronized>): Deleted.
(IPC::jsValueForDecodedMessageReply<MessageName::TestWithStream_SendStringSynchronized>): Deleted.
* Source/WebKit/Scripts/webkit/tests/TestWithStreamMessages.h:
(Messages::TestWithStream::SendStringAsync::name):
(Messages::TestWithStream::SendStringAsync::asyncMessageReplyName):
(Messages::TestWithStream::SendStringAsync::SendStringAsync):
(Messages::TestWithStream::SendStringAsync::arguments const):
(Messages::TestWithStream::SendStringSync::name):
(Messages::TestWithStream::SendStringSync::SendStringSync):
(Messages::TestWithStream::SendStringSynchronized::name): Deleted.
(Messages::TestWithStream::SendStringSynchronized::asyncMessageReplyName): Deleted.
(Messages::TestWithStream::SendStringSynchronized::SendStringSynchronized): Deleted.
(Messages::TestWithStream::SendStringSynchronized::arguments const): Deleted.
(Messages::TestWithStream::ReceiveMachSendRight::asyncMessageReplyName): Deleted.
(Messages::TestWithStream::SendAndReceiveMachSendRight::asyncMessageReplyName): Deleted.
* Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp:
(IPC::StreamClientConnection::sendWithAsyncReply):
(TestWebKitAPI::TEST_F):

Canonical link: https://commits.webkit.org/257735@main




More information about the webkit-changes mailing list