[webkit-changes] [WebKit/WebKit] 452967: IPC::Connection::SyncMessageState does not support...

Kimmo Kinnunen noreply at github.com
Mon Oct 10 02:18:07 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 452967ca049787c69ec6cd0fd05ff1d138ee8c65
      https://github.com/WebKit/WebKit/commit/452967ca049787c69ec6cd0fd05ff1d138ee8c65
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2022-10-10 (Mon, 10 Oct 2022)

  Changed paths:
    M Source/WebKit/Platform/IPC/Connection.cpp
    M Source/WebKit/Platform/IPC/Connection.h
    M Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm
    M Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp
    M Source/WebKit/Platform/IPC/win/ConnectionWin.cpp

  Log Message:
  -----------
  IPC::Connection::SyncMessageState does not support multiple runloops
https://bugs.webkit.org/show_bug.cgi?id=245475

Reviewed by Chris Dumez.

Add per-run loop SyncMessageState to IPC::Connection. However,
hard-code it using RunLoop::main() for all connections.
There is no functional difference.

This preparatory change for running Connections in arbitrary
run loops. This feature is needed for IPC from Workers.

* Source/WTF/wtf/RunLoop.h:
(WTF::WTF_ASSERTS_ACQUIRED_CAPABILITY):
* Source/WebKit/Platform/IPC/Connection.cpp:
(IPC::Connection::SyncMessageState::SyncMessageState):
(IPC::Connection::SyncMessageState::WTF_GUARDED_BY_LOCK):
(IPC::Connection::SyncMessageState::get):
(IPC::Connection::SyncMessageState::release):
(IPC::Connection::SyncMessageState::enqueueMatchingMessages):
(IPC::Connection::SyncMessageState::processIncomingMessage):
(IPC::Connection::SyncMessageState::dispatchMessages):
(IPC::Connection::SyncMessageState::dispatchMessagesAndResetDidScheduleDispatchMessagesForConnection):
(IPC::Connection::enqueueMatchingMessagesToMessageReceiveQueue):
(IPC::Connection::open):
(IPC::Connection::platformPrepareForOpen):
(IPC::Connection::invalidate):
(IPC::Connection::waitForMessage):
(IPC::Connection::waitForSyncReply):
(IPC::Connection::processIncomingSyncReply):
(IPC::Connection::processIncomingMessage):
(IPC::Connection::connectionDidClose):
(IPC::Connection::dispatchSyncMessage):
(IPC::Connection::dispatchDidReceiveInvalidMessage):
(IPC::Connection::SyncMessageState::singleton): Deleted.
* Source/WebKit/Platform/IPC/Connection.h:
* Source/WebKit/Platform/IPC/cocoa/ConnectionCocoa.mm:
(IPC::Connection::platformOpen):
(IPC::Connection::open): Deleted.
* Source/WebKit/Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::Connection::platformPrepareForOpen):
(IPC::Connection::platformOpen):
(IPC::Connection::open): Deleted.
* Source/WebKit/Platform/IPC/win/ConnectionWin.cpp:
(IPC::Connection::platformOpen):
(IPC::Connection::open): Deleted.

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




More information about the webkit-changes mailing list