[webkit-changes] [WebKit/WebKit] 5ab485: Avoid using CanvasBase::buffer() when accessing dr...

Kimmo Kinnunen noreply at github.com
Wed May 29 04:37:10 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5ab485a4c7c8f6831dd00ac8b87bedae3205baac
      https://github.com/WebKit/WebKit/commit/5ab485a4c7c8f6831dd00ac8b87bedae3205baac
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2024-05-29 (Wed, 29 May 2024)

  Changed paths:
    M Source/WebCore/html/CanvasBase.cpp
    M Source/WebCore/html/CanvasBase.h
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/OffscreenCanvas.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext.h
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp
    M Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h
    M Source/WebCore/html/canvas/GPUCanvasContextCocoa.h
    M Source/WebCore/html/canvas/GPUCanvasContextCocoa.mm
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp
    M Source/WebCore/html/canvas/WebGLRenderingContextBase.h
    M Source/WebCore/inspector/InspectorCanvas.cpp

  Log Message:
  -----------
  Avoid using CanvasBase::buffer() when accessing drawing buffer contents for inspector and painting
https://bugs.webkit.org/show_bug.cgi?id=274646
rdar://128677907

Reviewed by Matt Woodrow.

Before, getting the buffer was:
 - call CanvaRenderingContext::drawBufferToCanvas()
 - access CanvasBase::buffer()

 After,
  - obtain the buffer from CanvasRenderingContext::surfaceBufferToImageBuffer.

This way these call sites do not need to call CanvasBase::buffer().
This is work towards CanvasRenderingContext subclasses themselves managing
the copied buffers.

* Source/WebCore/html/CanvasBase.cpp:
(WebCore::CanvasBase::makeRenderingResultsAvailable):
* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* Source/WebCore/html/OffscreenCanvas.cpp:
(WebCore::OffscreenCanvas::commitToPlaceholderCanvas):
* Source/WebCore/html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::surfaceBufferToImageBuffer):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::drawBufferToCanvas): Deleted.
* Source/WebCore/html/canvas/GPUCanvasContextCocoa.h:
* Source/WebCore/html/canvas/GPUCanvasContextCocoa.mm:
(WebCore::GPUCanvasContextCocoa::surfaceBufferToImageBuffer):
(WebCore::GPUCanvasContextCocoa::drawBufferToCanvas): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::surfaceBufferToImageBuffer):
(WebCore::WebGLRenderingContextBase::drawBufferToCanvas): Deleted.
* Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
* Source/WebCore/inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::getContentAsDataURL):
(WebCore::InspectorCanvas::indexForData):

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



To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications


More information about the webkit-changes mailing list