[webkit-changes] [WebKit/WebKit] bb6155: Simplify use of sendWithPromisedReplyOnDispatcher

Jean-Yves Avenard noreply at github.com
Wed Mar 6 15:09:16 PST 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bb615544285886057ad79e074fefe6bbf68c2292
      https://github.com/WebKit/WebKit/commit/bb615544285886057ad79e074fefe6bbf68c2292
  Author: Jean-Yves Avenard <jya at apple.com>
  Date:   2024-03-06 (Wed, 06 Mar 2024)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.cpp
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h
    M Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp

  Log Message:
  -----------
  Simplify use of sendWithPromisedReplyOnDispatcher
https://bugs.webkit.org/show_bug.cgi?id=270320
rdar://123857833

Reviewed by Kimmo Kinnunen.

We can remove Connection::sendWithPromiseReplyOnDisPatcher and have Connection::sendWithPromisedReply perform the dispatching automatically.

Using NativePromiseProducer::settleWithFunction we can set the callback that will decode the IPC's message and pass it to its listener
on the thread the listener is asking to be called on.

We can remove the RefPtr<RefCountedSerialFunctionDispatcher> from the AsyncReplyWithDispatcher structure and move the
dispatching logic directly into the AsyncReplyHandler's CompletionHandler which will now receive a std::unique_ptr<Decoder> instead of a
raw pointer.

No change in observable behaviour, covered by existing tests.

* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::sendMessageWithAsyncReplyWithDispatcher):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::addAsyncReplyHandlerWithDispatcher):
(IPC::Connection::cancelAsyncReplyHandlers):
(IPC::CompletionHandler<void):
(IPC::Connection::takeAsyncReplyHandlerWithDispatcher): Deleted.
(IPC::Connection::takeAsyncReplyHandlerWithDispatcherWithLockHeld): Deleted.
* Source/WebKit/Platform/IPC/Connection.h:
(IPC::Connection::sendWithAsyncReplyOnDispatcher):
(IPC::Connection::sendWithPromisedReply):
(IPC::Connection::makeAsyncReplyHandlerWithDispatcher):
(IPC::Connection::AsyncReplyHandlerWithDispatcher::operator bool const): Deleted.
* Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.h:
* Tools/TestWebKitAPI/Tests/IPC/ConnectionTests.cpp:
(TestWebKitAPI::TEST_P):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list