Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: bd385cf6b6e514e2458d87d0a0705da7814835e0
      
https://github.com/WebKit/WebKit/commit/bd385cf6b6e514e2458d87d0a0705da7814835e0
  Author: Kimmo Kinnunen <kkinnu...@apple.com>
  Date:   2024-06-14 (Fri, 14 Jun 2024)

  Changed paths:
    M Source/WebCore/html/HTMLCanvasElement.cpp
    M Source/WebCore/html/HTMLCanvasElement.h
    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/GPUBasedCanvasRenderingContext.h
    M Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp
    M Source/WebCore/html/canvas/ImageBitmapRenderingContext.h
    M Source/WebCore/html/canvas/PlaceholderRenderingContext.h
    M Source/WebCore/rendering/RenderHTMLCanvas.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/RenderLayerBacking.h

  Log Message:
  -----------
  PlaceholderRenderingContext is not consistent wrt isGPUBased() accessor
https://bugs.webkit.org/show_bug.cgi?id=275053
rdar://129160039

Reviewed by Antti Koivisto.

CanvasRenderingContext::isGPUBased() was used for two
conflicting purposes:
 1. Downcasting to GPUBasedCanvasRenderingContext
 2. Forcing RenderLayerBacking creation for canvas RenderLayers.

1. is a bit dangerous, as PlaceholderRenderingContext is-not-a
GPUBasedCanvasRenderingContext.

Forcing RenderLayerBacking / RenderLayer creation also used
CanvasRenderingContext::isAccelerated().

Rename CanvasRenderingContext::isAccelerated() to
CanvasRenderingContext::delegatesDisplay(). The property means
that the context is able to directly replace the GraphicsLayer contents.

* Source/WebCore/html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::didDraw):
(WebCore::HTMLCanvasElement::contentsUsedAsLayerContents const):
(WebCore::HTMLCanvasElement::paint):
(WebCore::HTMLCanvasElement::transferControlToOffscreen):
(WebCore::HTMLCanvasElement::shouldNotifyRendererOnDidDraw const): Deleted.
(WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer const): Deleted.
(WebCore::HTMLCanvasElement::isGPUBased const): Deleted.
* Source/WebCore/html/HTMLCanvasElement.h:
* Source/WebCore/html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::delegatesDisplay const):
* Source/WebCore/html/canvas/CanvasRenderingContext.h:
(WebCore::CanvasRenderingContext::isGPUBased const):
(WebCore::CanvasRenderingContext::isAccelerated const): Deleted.
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.cpp:
(WebCore::CanvasRenderingContext2DBase::isAccelerated const):
* Source/WebCore/html/canvas/CanvasRenderingContext2DBase.h:
* Source/WebCore/html/canvas/GPUBasedCanvasRenderingContext.h:
* Source/WebCore/html/canvas/ImageBitmapRenderingContext.cpp:
(WebCore::ImageBitmapRenderingContext::isAccelerated const): Deleted.
* Source/WebCore/html/canvas/ImageBitmapRenderingContext.h:
* Source/WebCore/html/canvas/PlaceholderRenderingContext.h:
* Source/WebCore/rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::requiresLayer const):
* Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::canvasCompositingStrategy):
(WebCore::RenderLayerBacking::shouldSetContentsDisplayDelegate const):
* Source/WebCore/rendering/RenderLayerBacking.h:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to