Skip to content

Commit

Permalink
Deploy more smart pointers in WebKit2
Browse files Browse the repository at this point in the history
https://bugs.webkit.org/show_bug.cgi?id=260552
rdar://114284411

Reviewed by Ryosuke Niwa.

* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
 (WebKit::RemoteRenderingBackend::prepareLayerBuffersForDisplay):
* Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
 (WebKit::RemoteResourceCache::cachedImageBuffer const):
* Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:

Canonical link: https://commits.webkit.org/267179@main
  • Loading branch information
abigailfox authored and rniwa committed Aug 23, 2023
1 parent 2c3c1f0 commit d76ee32
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
4 changes: 2 additions & 2 deletions Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -447,11 +447,11 @@ void RemoteRenderingBackend::prepareBuffersForDisplay(Vector<PrepareBackingStore
// This is the GPU Process version of RemoteLayerBackingStore::prepareBuffers().
void RemoteRenderingBackend::prepareLayerBuffersForDisplay(const PrepareBackingStoreBuffersInputData& inputData, PrepareBackingStoreBuffersOutputData& outputData)
{
auto fetchBuffer = [&](std::optional<RenderingResourceIdentifier> identifier) -> ImageBuffer* {
auto fetchBuffer = [&](std::optional<RenderingResourceIdentifier> identifier) -> RefPtr<ImageBuffer> {
return identifier ? m_remoteResourceCache.cachedImageBuffer(*identifier) : nullptr;
};

auto bufferIdentifier = [](ImageBuffer* buffer) -> std::optional<RenderingResourceIdentifier> {
auto bufferIdentifier = [](RefPtr<WebCore::ImageBuffer> buffer) -> std::optional<RenderingResourceIdentifier> {
if (!buffer)
return std::nullopt;
return buffer->renderingResourceIdentifier();
Expand Down
4 changes: 2 additions & 2 deletions Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,9 @@ void RemoteResourceCache::cacheImageBuffer(Ref<RemoteImageBuffer>&& imageBuffer)
m_resourceHeap.add(WTFMove(buffer));
}

RemoteImageBuffer* RemoteResourceCache::cachedImageBuffer(RenderingResourceIdentifier renderingResourceIdentifier) const
RefPtr<RemoteImageBuffer> RemoteResourceCache::cachedImageBuffer(RenderingResourceIdentifier renderingResourceIdentifier) const
{
return static_cast<RemoteImageBuffer*>(m_resourceHeap.getImageBuffer(renderingResourceIdentifier));
return static_pointer_cast<RemoteImageBuffer>(std::forward<RefPtr<ImageBuffer>>(m_resourceHeap.getImageBuffer(renderingResourceIdentifier)));
}

RefPtr<RemoteImageBuffer> RemoteResourceCache::takeImageBuffer(RenderingResourceIdentifier renderingResourceIdentifier)
Expand Down
2 changes: 1 addition & 1 deletion Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ class RemoteResourceCache {
void cacheFilter(Ref<WebCore::Filter>&&);
void cacheFontCustomPlatformData(Ref<WebCore::FontCustomPlatformData>&&);

RemoteImageBuffer* cachedImageBuffer(WebCore::RenderingResourceIdentifier) const;
RefPtr<RemoteImageBuffer> cachedImageBuffer(WebCore::RenderingResourceIdentifier) const;
RefPtr<RemoteImageBuffer> takeImageBuffer(WebCore::RenderingResourceIdentifier);
WebCore::NativeImage* cachedNativeImage(WebCore::RenderingResourceIdentifier) const;
WebCore::Font* cachedFont(WebCore::RenderingResourceIdentifier) const;
Expand Down

0 comments on commit d76ee32

Please sign in to comment.