[webkit-changes] [WebKit/WebKit] 2d3a63: Cherry-pick ce70a7f574fc. rdar://problem/104076868

Kimmo Kinnunen noreply at github.com
Fri Jan 13 23:23:32 PST 2023


  Branch: refs/heads/safari-7615.1.18-branch
  Home:   https://github.com/WebKit/WebKit
  Commit: 2d3a638b33a28caf6db35a260820aca156ef4343
      https://github.com/WebKit/WebKit/commit/2d3a638b33a28caf6db35a260820aca156ef4343
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2023-01-13 (Fri, 13 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:
  -----------
  Cherry-pick ce70a7f574fc. rdar://problem/104076868

    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

Canonical link: https://commits.webkit.org/258608.19@safari-7615.1.18-branch




More information about the webkit-changes mailing list