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