Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 210feffe55bb33afeb29a638963f8e7fd42af6eb
      
https://github.com/WebKit/WebKit/commit/210feffe55bb33afeb29a638963f8e7fd42af6eb
  Author: Carlos Garcia Campos <[email protected]>
  Date:   2026-09-07 (Mon, 07 Sep 2026)

  Changed paths:
    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/ImageBufferSkiaUnacceleratedBackend.h
    M Source/WebCore/platform/graphics/skia/SkiaSpanExtras.h

  Log Message:
  -----------
  [Skia] Use SkSurface image snapshot and temporary image in 
ImageBufferSkiaUnacceleratedBackend for NativeImage getters
https://bugs.webkit.org/show_bug.cgi?id=323417

Reviewed by Nikolas Zimmermann.

It's not only simpler, but more efficient, especially in the case of
copyNativeImage() because we can even avoid the copy if the image is
used and released before the surface is written. For copy on write to
properly work we can't modify the surface pixels wihtout using the Skia
API, so this patch also moves the ImageBufferSkiaAcceleratedBackend
implementation of getPixelBuffer and putPixelBuffer to the base class
ImageBufferSkiaSurfaceBackend to be used by both accelerated and
unaccelerated classes.

* Source/WebCore/platform/graphics/skia/ImageBufferSkiaUnacceleratedBackend.cpp:
(WebCore::ImageBufferSkiaUnacceleratedBackend::copyNativeImage):
(WebCore::ImageBufferSkiaUnacceleratedBackend::createNativeImageReference):
(WebCore::ImageBufferSkiaUnacceleratedBackend::putPixelBuffer):
(WebCore::ImageBufferSkiaUnacceleratedBackend::getPixelBuffer): Deleted.
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::getPixelBuffer):
(WebCore::ImageBufferSkiaAcceleratedBackend::putPixelBuffer):
(WebCore::mutableSpan): Deleted.
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.cpp:
(WebCore::ImageBufferSkiaSurfaceBackend::getPixelBuffer):
(WebCore::ImageBufferSkiaSurfaceBackend::putPixelBuffer):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaSurfaceBackend.h:
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaUnacceleratedBackend.h:
* Source/WebCore/platform/graphics/skia/SkiaSpanExtras.h:
(WebCore::mutableSpan):

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



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

Reply via email to