[webkit-changes] [WebKit/WebKit] 867737: [Skia] Make GraphicsContextSkia constructor receiv...

Carlos Garcia Campos noreply at github.com
Wed Mar 20 11:16:04 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 867737f23957b13585997afb13f21ebfe1d3be80
      https://github.com/WebKit/WebKit/commit/867737f23957b13585997afb13f21ebfe1d3be80
  Author: Carlos Garcia Campos <cgarcia at igalia.com>
  Date:   2024-03-20 (Wed, 20 Mar 2024)

  Changed paths:
    M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp
    M Source/WebCore/platform/graphics/skia/GraphicsContextSkia.h
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.cpp
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.h
    M Source/WebCore/platform/graphics/skia/ImageBufferSkiaUnacceleratedBackend.cpp
    M Source/WebCore/platform/graphics/skia/PathSkia.cpp
    M Source/WebCore/platform/graphics/skia/ShareableBitmapSkia.cpp
    M Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp
    M Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp

  Log Message:
  -----------
  [Skia] Make GraphicsContextSkia constructor receive a SkCanvas instead of a SkSurface
https://bugs.webkit.org/show_bug.cgi?id=271309

Reviewed by Alejandro G. Castro.

For printing we won't have a SkSurface to pass. The constructor now
receives a reference to a SkCanvas, so callers need to ensure the canvas
will be alive, which is always the case except for ShareableBitmap. For
that case we also include an optional destroy notify parameter that is
used to release the associated SkSurface when the graphics context is
destroyed.

* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContextSkia::GraphicsContextSkia):
(WebCore::GraphicsContextSkia::hasPlatformContext const):
(WebCore::GraphicsContextSkia::getCTM const):
(WebCore::GraphicsContextSkia::platformContext const):
(WebCore::GraphicsContextSkia::save):
(WebCore::GraphicsContextSkia::restore):
(WebCore::GraphicsContextSkia::drawRect):
(WebCore::GraphicsContextSkia::drawNativeImageInternal):
(WebCore::GraphicsContextSkia::drawLine):
(WebCore::GraphicsContextSkia::drawEllipse):
(WebCore::GraphicsContextSkia::fillPath):
(WebCore::GraphicsContextSkia::strokePath):
(WebCore::GraphicsContextSkia::fillRect):
(WebCore::GraphicsContextSkia::clip):
(WebCore::GraphicsContextSkia::clipPath):
(WebCore::GraphicsContextSkia::clipBounds const):
(WebCore::GraphicsContextSkia::clipToImageBuffer):
(WebCore::GraphicsContextSkia::drawDotsForDocumentMarker):
(WebCore::GraphicsContextSkia::translate):
(WebCore::GraphicsContextSkia::concatCTM):
(WebCore::GraphicsContextSkia::setCTM):
(WebCore::GraphicsContextSkia::beginTransparencyLayer):
(WebCore::GraphicsContextSkia::endTransparencyLayer):
(WebCore::GraphicsContextSkia::clearRect):
(WebCore::GraphicsContextSkia::strokeRect):
(WebCore::GraphicsContextSkia::clipOut):
(WebCore::GraphicsContextSkia::rotate):
(WebCore::GraphicsContextSkia::scale):
(WebCore::GraphicsContextSkia::fillRoundedRectImpl):
(WebCore::GraphicsContextSkia::fillRectWithRoundedHole):
(WebCore::GraphicsContextSkia::drawPattern):
(WebCore::GraphicsContextSkia::canvas const): Deleted.
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.h:
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::create):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.cpp:
(WebCore::ImageBufferSkiaSurfaceBackend::ImageBufferSkiaSurfaceBackend):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.h:
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaUnacceleratedBackend.cpp:
(WebCore::ImageBufferSkiaUnacceleratedBackend::create):
* Source/WebCore/platform/graphics/skia/PathSkia.cpp:
(WebCore::PathSkia::strokeContains const):
(WebCore::PathSkia::strokeBoundingRect const):
* Source/WebCore/platform/graphics/skia/ShareableBitmapSkia.cpp:
(WebCore::ShareableBitmap::createGraphicsContext):
* Source/WebCore/platform/graphics/texmap/coordinated/CoordinatedGraphicsLayerSkia.cpp:
(WebCore::CoordinatedGraphicsLayer::paintTile):
(WebCore::CoordinatedGraphicsLayer::paintImage):
* Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):

Canonical link: https://commits.webkit.org/276408@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