[webkit-changes] [WebKit/WebKit] 11e07c: [GPU Process] Introduce RenderingResource and make...

Said Abou-Hallawa noreply at github.com
Thu Mar 23 10:15:35 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 11e07c42d4bfe42c167bdf3ec290d1db6e54694d
      https://github.com/WebKit/WebKit/commit/11e07c42d4bfe42c167bdf3ec290d1db6e54694d
  Author: Said Abou-Hallawa <said at apple.com>
  Date:   2023-03-23 (Thu, 23 Mar 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/graphics/DecomposedGlyphs.cpp
    M Source/WebCore/platform/graphics/DecomposedGlyphs.h
    M Source/WebCore/platform/graphics/NativeImage.cpp
    M Source/WebCore/platform/graphics/NativeImage.h
    A Source/WebCore/platform/graphics/RenderingResource.h
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in
    M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp
    M Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h
    M Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp

  Log Message:
  -----------
  [GPU Process] Introduce RenderingResource and make it the base of DecomposedGlyphs and NativeImage
 https://bugs.webkit.org/show_bug.cgi?id=220943
 <rdar://problem/73843739>

Reviewed by Darin Adler.

Move smart pointer support and RenderingResourceIdentifier and observers'
management to the new class RenderingResource.

Make DecomposedGlyphs and NativeImage inherit RenderingResource so they can
share this code instead of duplicating it.

Rename releaseRemoteResource() to releaseRenderingResource().

Make DecomposedGlyphs be destructible on any thread and not necessarily on
the main thread. I do not think there was a reason for making it
WTF::DestructionThread::Main from the beginning.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/DecomposedGlyphs.cpp:
(WebCore::DecomposedGlyphs::DecomposedGlyphs):
(WebCore::m_renderingResourceIdentifier): Deleted.
(WebCore::DecomposedGlyphs::~DecomposedGlyphs): Deleted.
* Source/WebCore/platform/graphics/DecomposedGlyphs.h:
* Source/WebCore/platform/graphics/NativeImage.cpp:
(WebCore::NativeImage::NativeImage):
(WebCore::NativeImage::~NativeImage): Deleted.
* Source/WebCore/platform/graphics/NativeImage.h:
* Source/WebCore/platform/graphics/RenderingResource.h: Added.
(WebCore::RenderingResource::~RenderingResource):
(WebCore::RenderingResource::renderingResourceIdentifier const):
(WebCore::RenderingResource::addObserver):
(WebCore::RenderingResource::removeObserver):
(WebCore::RenderingResource::RenderingResource):
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::releaseRenderingResource):
(WebKit::RemoteRenderingBackend::releaseRenderingResourceWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::releaseResource): Deleted.
(WebKit::RemoteRenderingBackend::releaseResourceWithQualifiedIdentifier): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
* Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::releaseRenderingResource):
(WebKit::RemoteResourceCache::releaseResource): Deleted.
* Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::releaseRenderingResource):
(WebKit::RemoteRenderingBackendProxy::releaseRemoteResource): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
* Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::releaseImageBuffer):
(WebKit::RemoteResourceCacheProxy::releaseRenderingResource):
(WebKit::RemoteResourceCacheProxy::finalizeRenderingUpdateForFonts):
(WebKit::RemoteResourceCacheProxy::releaseNativeImage): Deleted.
(WebKit::RemoteResourceCacheProxy::releaseDecomposedGlyphs): Deleted.
* Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
* Tools/TestWebKitAPI/Tests/IPC/StreamConnectionTests.cpp:

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




More information about the webkit-changes mailing list