[webkit-changes] [WebKit/WebKit] 6494a2: ThreadSafeObjectHeap should be part of IPC

Kimmo Kinnunen noreply at github.com
Mon Jun 5 01:58:55 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 6494a227e7790aec849cee13ebc5428072547832
      https://github.com/WebKit/WebKit/commit/6494a227e7790aec849cee13ebc5428072547832
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2023-06-05 (Mon, 05 Jun 2023)

  Changed paths:
    M Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h
    M Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h
    A Source/WebKit/Platform/IPC/ObjectIdentifierReferenceTracker.h
    A Source/WebKit/Platform/IPC/ThreadSafeObjectHeap.h
    R Source/WebKit/Shared/ObjectIdentifierReferenceTracker.h
    R Source/WebKit/Shared/ThreadSafeObjectHeap.h
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/graphics/RemoteSerializedImageBufferIdentifier.h
    M Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameIdentifier.h
    M Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxyIdentifier.h
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    A Tools/TestWebKitAPI/Tests/IPC/ThreadSafeObjectHeapTests.cpp

  Log Message:
  -----------
  ThreadSafeObjectHeap should be part of IPC
https://bugs.webkit.org/show_bug.cgi?id=257645
rdar://110165802

Reviewed by Antti Koivisto.

Rename WebKit::ThreadSafeObjectHeap to IPC::ThreadSafeObjectHeap.
The class is used to track IPC object references, so it is related to
IPC.
IPC/* files can be tested with unit tests, so IPC::ThreadSafeObjectHeap
is easier to improve.

* Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h:
(WebKit::GPUConnectionToWebProcess::serializedImageBufferHeap):
* Source/WebKit/GPUProcess/media/RemoteVideoFrameObjectHeap.h:
* Source/WebKit/Platform/IPC/ObjectIdentifierReferenceTracker.h: Renamed from Source/WebKit/Shared/ObjectIdentifierReferenceTracker.h.
(IPC::ObjectIdentifierReference::ObjectIdentifierReference):
(IPC::ObjectIdentifierReference::identifier const):
(IPC::ObjectIdentifierReference::version const):
(IPC::ObjectIdentifierReference::operator== const):
(IPC::ObjectIdentifierReference::isHashTableDeletedValue const):
(IPC::ObjectIdentifierReference::encode const):
(IPC::ObjectIdentifierReference::decode):
(IPC::ObjectIdentifierReadReference::ObjectIdentifierReadReference):
(IPC::ObjectIdentifierReadReference::identifier const):
(IPC::ObjectIdentifierReadReference::version const):
(IPC::ObjectIdentifierReadReference::reference const):
(IPC::ObjectIdentifierReadReference::encode const):
(IPC::ObjectIdentifierReadReference::decode):
(IPC::ObjectIdentifierWriteReference::generateForAdd):
(IPC::ObjectIdentifierWriteReference::ObjectIdentifierWriteReference):
(IPC::ObjectIdentifierWriteReference::identifier const):
(IPC::ObjectIdentifierWriteReference::version const):
(IPC::ObjectIdentifierWriteReference::pendingReads const):
(IPC::ObjectIdentifierWriteReference::reference const):
(IPC::ObjectIdentifierWriteReference::retiredReference const):
(IPC::ObjectIdentifierWriteReference::encode const):
(IPC::ObjectIdentifierWriteReference::decode):
(IPC::ObjectIdentifierReferenceTracker::ObjectIdentifierReferenceTracker):
(IPC::ObjectIdentifierReferenceTracker::read const):
(IPC::ObjectIdentifierReferenceTracker::write const):
(IPC::ObjectIdentifierReferenceTracker::identifier const):
(IPC::add):
(IPC::operator<<):
(WTF::DefaultHash<IPC::ObjectIdentifierReference<T>>::hash):
(WTF::DefaultHash<IPC::ObjectIdentifierReference<T>>::equal):
* Source/WebKit/Platform/IPC/ThreadSafeObjectHeap.h: Renamed from Source/WebKit/Shared/ThreadSafeObjectHeap.h.
(IPC::ThreadSafeObjectHeap::ReferenceState::ReferenceState):
(IPC::HeldType>::retire):
(IPC::HeldType>::retireRemove):
(IPC::HeldType>::clear):
(IPC::HeldType>::add):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/RemoteSerializedImageBufferIdentifier.h:
* Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameIdentifier.h:
* Source/WebKit/WebProcess/GPU/media/RemoteVideoFrameProxyIdentifier.h:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/IPC/ThreadSafeObjectHeapTests.cpp: Added.
(TestWebKitAPI::TEST_F):

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




More information about the webkit-changes mailing list