Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b8769a5cf417b26f5883b32059d1fa1a29986703
      
https://github.com/WebKit/WebKit/commit/b8769a5cf417b26f5883b32059d1fa1a29986703
  Author: Kimmo Kinnunen <kkinnu...@apple.com>
  Date:   2023-09-04 (Mon, 04 Sep 2023)

  Changed paths:
    M Source/WebCore/platform/graphics/ImageBuffer.cpp
    M Source/WebCore/platform/graphics/ImageBuffer.h
    M Source/WebCore/platform/graphics/ImageBufferBackend.h
    M Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp
    M Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.h
    M 
Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
    M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h
    M 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h

  Log Message:
  -----------
  Some ImageBufferBackend implementations use resolutionScale
https://bugs.webkit.org/show_bug.cgi?id=255983
rdar://108554761

Reviewed by Matt Woodrow.

The resolutionScale is used to set up the initial transformation matrix
of the graphics context used to draw to ImageBuffer. This is
ImageBuffer logic.

Move the creation signal of the GraphicsContext to ImageBuffer.
When ImageBuffer knows when the context is being created, it can also
apply the needed state to the new GraphicsContext. The transformation
is already known statically due to the Info::baseTransform.

This is work towards making the ImageBufferBackend implementations
less rendundant and error-prone. This allows further commits to remove
logicalSize and resolutionScale from ImageBufferBackend and removing
unneeded virtual functions related to size concepts.

* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::context const):
(WebCore::ImageBuffer::setBackend):
(WebCore::ImageBuffer::releaseGraphicsContext):
* Source/WebCore/platform/graphics/ImageBuffer.h:
* Source/WebCore/platform/graphics/ImageBufferBackend.h:
(WebCore::ImageBufferBackend::originAtBottomLeftCorner const): Deleted.
* Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::ImageBufferCGBackend::applyBaseTransform const):
(WebCore::ImageBufferCGBackend::originAtBottomLeftCorner const): Deleted.
* Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.h:
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::ImageBufferShareableBitmapBackend):
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
* 
Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBitmapBackend.h:

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


_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to