[webkit-changes] [WebKit/WebKit] 892491: Add smart pointers to ImageBuffer uses

Gerald Squelart noreply at github.com
Fri Sep 29 00:26:04 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 8924915b479332318589c9d627f38851276164e1
      https://github.com/WebKit/WebKit/commit/8924915b479332318589c9d627f38851276164e1
  Author: Gerald Squelart <g_squelart at apple.com>
  Date:   2023-09-29 (Fri, 29 Sep 2023)

  Changed paths:
    M Source/WebCore/Modules/WebGPU/GPUQueue.cpp
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/OffscreenCanvas.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/platform/graphics/GraphicsContext.cpp
    M Source/WebCore/platform/graphics/ImageBuffer.cpp
    M Source/WebCore/platform/graphics/coreimage/SourceGraphicCoreImageApplier.mm
    M Source/WebCore/platform/graphics/filters/FilterImage.cpp
    M Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp
    M Source/WebCore/platform/graphics/filters/software/FEBlendSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEFloodSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEImageSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEMergeSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/FETileSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp
    M Source/WebCore/platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp
    M Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm
    M Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp

  Log Message:
  -----------
  Add smart pointers to ImageBuffer uses
https://bugs.webkit.org/show_bug.cgi?id=262267
rdar://problem/116161504

Reviewed by Ryosuke Niwa and Alex Christensen.

Add explicit Ref/RefPtr (or similar measures) where needed to ensure that
ImageBuffers cannot be deleted during function calls.

* Source/WebCore/Modules/WebGPU/GPUQueue.cpp:
(WebCore::GPUQueue::copyExternalImageToTexture):
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::toVideoFrame):
* Source/WebCore/html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::drawImage):
(WebCore::CanvasRenderingContext2DBase::needsPreparationForDisplay const):
(WebCore::CanvasRenderingContext2DBase::getImageData const):
(WebCore::CanvasRenderingContext2DBase::putImageData):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::texImageSource):
(WebCore::WebGLRenderingContextBase::drawImageIntoBuffer):
(WebCore::WebGLRenderingContextBase::videoFrameToImage):
(WebCore::WebGLRenderingContextBase::LRUImageBufferCache::imageBuffer):
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawFilteredImageBuffer):
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::filteredImage):
* Source/WebCore/platform/graphics/coreimage/SourceGraphicCoreImageApplier.mm:
(WebCore::SourceGraphicCoreImageApplier::apply const):
* Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::copyPixelBuffer):
(WebCore::FilterImage::transformToColorSpace):
* Source/WebCore/platform/graphics/filters/FilterImageTargetSwitcher.cpp:
(WebCore::FilterImageTargetSwitcher::endDrawSourceImage):
* Source/WebCore/platform/graphics/filters/software/FEBlendSoftwareApplier.cpp:
(WebCore::FEBlendSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FEColorMatrixSoftwareApplier.cpp:
(WebCore::FEColorMatrixSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FECompositeSoftwareApplier.cpp:
(WebCore::FECompositeSoftwareApplier::applyNonArithmetic const):
* Source/WebCore/platform/graphics/filters/software/FEDropShadowSoftwareApplier.cpp:
(WebCore::FEDropShadowSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FEFloodSoftwareApplier.cpp:
(WebCore::FEFloodSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FEImageSoftwareApplier.cpp:
(WebCore::FEImageSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FEMergeSoftwareApplier.cpp:
(WebCore::FEMergeSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FEOffsetSoftwareApplier.cpp:
(WebCore::FEOffsetSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/FETileSoftwareApplier.cpp:
(WebCore::FETileSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/SourceAlphaSoftwareApplier.cpp:
(WebCore::SourceAlphaSoftwareApplier::apply const):
* Source/WebCore/platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:
(WebCore::SourceGraphicSoftwareApplier::apply const):
* Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSourceMac::updateSampleBuffer):
* Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::generateFrame):

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




More information about the webkit-changes mailing list