[webkit-changes] [WebKit/WebKit] ce70a7: REGRESSION(258484 at main): StreamClientConnection se...

Kimmo Kinnunen noreply at github.com
Wed Jan 11 05:00:31 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: ce70a7f574fc549c68b2024f0980f1a1f5878646
      https://github.com/WebKit/WebKit/commit/ce70a7f574fc549c68b2024f0980f1a1f5878646
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2023-01-11 (Wed, 11 Jan 2023)

  Changed paths:
    M Source/WebKit/Platform/IPC/StreamClientConnection.h
    M Source/WebKit/Platform/IPC/StreamServerConnection.cpp
    M Source/WebKit/Platform/IPC/StreamServerConnection.h
    M Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp

  Log Message:
  -----------
  REGRESSION(258484 at main): StreamClientConnection sends destination id in wrong format
https://bugs.webkit.org/show_bug.cgi?id=250386
rdar://104076868

Reviewed by Alex Christensen.

258484 at main would change the IPC message destination ID to UInt128.
The commit changed also stream IPC destinations as UInt128.

Stream{Client,Server}Connection public API has only ObjectIdentifier<T> instances
as the destination ID. These are uint64_t. Thus sending UInt128 when the
input is only uint64_t is redundant.

Revert back to uint64_t. The stream IPC memory format expects certain layout and alignment
for messages and their fields. The UInt128 change didn't contain these.

It is better to make the 128 bit change in isolation, should the need arise. Given
that 64 bits is relatively big id space, try to preserve the perf benefit of using
this smaller space until needed.

* Source/WebKit/Platform/IPC/StreamClientConnection.h:
(IPC::StreamClientConnection::trySendDestinationIDIfNeeded):
* Source/WebKit/Platform/IPC/StreamServerConnection.cpp:
(IPC::StreamServerConnection::startReceivingMessages):
(IPC::StreamServerConnection::stopReceivingMessages):
(IPC::StreamServerConnection::processSetStreamDestinationID):
* Source/WebKit/Platform/IPC/StreamServerConnection.h:
* Source/WebKit/WebProcess/WebPage/IPCTestingAPI.cpp:
(WebKit::IPCTestingAPI::JSIPCStreamClientConnection::prepareToSendOutOfStreamMessage):

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




More information about the webkit-changes mailing list