Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 3466e3a573ebcaa89a49e3f0649627c1409435f9
      
https://github.com/WebKit/WebKit/commit/3466e3a573ebcaa89a49e3f0649627c1409435f9
  Author: Pawel Lampe <[email protected]>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M Source/WebCore/platform/SourcesSkia.txt
    M Source/WebCore/platform/graphics/ColorConversion.cpp
    M Source/WebCore/platform/graphics/DestinationColorSpace.cpp
    M Source/WebCore/platform/graphics/DestinationColorSpace.h
    M Source/WebCore/platform/graphics/PixelBufferConversion.cpp
    M Source/WebCore/platform/graphics/PlatformColorSpace.h
    M Source/WebCore/platform/graphics/ShareableBitmap.cpp
    M Source/WebCore/platform/graphics/filters/FEFlood.cpp
    M Source/WebCore/platform/graphics/filters/FEFlood.h
    M Source/WebCore/platform/graphics/filters/FilterImage.cpp
    M Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp
    M Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp
    A Source/WebCore/platform/graphics/skia/ColorSpaceSkia.cpp
    A Source/WebCore/platform/graphics/skia/ColorSpaceSkia.h
    M Source/WebCore/platform/graphics/skia/GraphicsContextGLSkia.cpp
    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/ImageBufferSkiaUnacceleratedBackend.cpp
    M Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp
    M Source/WebCore/platform/graphics/skia/ShareableBitmapSkia.cpp
    M Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp
    M Source/WebCore/platform/image-decoders/skia/ImageBackingStoreSkia.cpp
    M Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp
    M Source/WebKit/PlatformGTK.cmake
    M Source/WebKit/PlatformWPE.cmake
    M Source/WebKit/Shared/WebCoreArgumentCoders.h
    M Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in
    A Source/WebKit/Shared/skia/CoreIPCSkColorSpace.h
    A Source/WebKit/Shared/skia/CoreIPCSkColorSpace.serialization.in
    M Source/WebKit/Shared/skia/WebCoreArgumentCodersSkia.cpp
    M Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp
    M Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp
    M Tools/WebKitTestRunner/wpe/PlatformWebViewClientWPE.cpp
    M Tools/wpe/backends/fdo/HeadlessViewBackendFdo.cpp

  Log Message:
  -----------
  [Skia] Add initial support for color spaces
https://bugs.webkit.org/show_bug.cgi?id=272453

Reviewed by Carlos Garcia Campos.

With this change, the colorspaces are now enabled in all the codepaths 
requiring them.
This change leaves some codepaths unimplemented - to be implemented in followup 
PRs.
All the SVG filters are working now as good as they worked with cairo.

* Source/WebCore/platform/SourcesSkia.txt:
* Source/WebCore/platform/graphics/ColorConversion.cpp:
(WebCore::convertAndResolveColorComponents):
* Source/WebCore/platform/graphics/DestinationColorSpace.cpp:
(WebCore::DestinationColorSpace::SRGB):
(WebCore::DestinationColorSpace::LinearSRGB):
(WebCore::DestinationColorSpace::DisplayP3):
(WebCore::operator==):
(WebCore::DestinationColorSpace::asRGB const):
* Source/WebCore/platform/graphics/DestinationColorSpace.h:
(WebCore::DestinationColorSpace::platformColorSpace const):
* Source/WebCore/platform/graphics/PixelBufferConversion.cpp:
(WebCore::convertImagePixelsSkia):
(WebCore::convertImagePixels):
* Source/WebCore/platform/graphics/PlatformColorSpace.h:
* Source/WebCore/platform/graphics/ShareableBitmap.cpp:
(WebCore::ShareableBitmapConfiguration::ShareableBitmapConfiguration):
* Source/WebCore/platform/graphics/filters/FEFlood.cpp:
(WebCore::FEFlood::create):
* Source/WebCore/platform/graphics/filters/FEFlood.h:
* Source/WebCore/platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::requiresPixelBufferColorSpaceConversion const):
(WebCore::FilterImage::transformToColorSpace):
* Source/WebCore/platform/graphics/gstreamer/ImageGStreamerSkia.cpp:
(WebCore::ImageGStreamer::ImageGStreamer):
* Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp:
(Nicosia::UnacceleratedBuffer::UnacceleratedBuffer):
* Source/WebCore/platform/graphics/skia/ColorSpaceSkia.cpp: Copied from 
Source/WebCore/platform/image-decoders/skia/ImageBackingStoreSkia.cpp.
(WebCore::sRGBColorSpaceRef):
(WebCore::linearSRGBColorSpaceRef):
(WebCore::displayP3ColorSpaceRef):
* Source/WebCore/platform/graphics/skia/ColorSpaceSkia.h: Copied from 
Source/WebCore/platform/image-decoders/skia/ImageBackingStoreSkia.cpp.
* Source/WebCore/platform/graphics/skia/GraphicsContextGLSkia.cpp:
(WebCore::GraphicsContextGL::createNativeImageFromPixelBuffer):
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.cpp:
(WebCore::GraphicsContextSkia::GraphicsContextSkia):
(WebCore::GraphicsContextSkia::colorSpace const):
* Source/WebCore/platform/graphics/skia/GraphicsContextSkia.h:
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaAcceleratedBackend.cpp:
(WebCore::ImageBufferSkiaAcceleratedBackend::create):
* Source/WebCore/platform/graphics/skia/ImageBufferSkiaUnacceleratedBackend.cpp:
(WebCore::ImageBufferSkiaUnacceleratedBackend::create):
* Source/WebCore/platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::PlatformImageNativeImageBackend::colorSpace const):
* Source/WebCore/platform/graphics/skia/ShareableBitmapSkia.cpp:
(WebCore::ShareableBitmapConfiguration::calculateBytesPerPixel):
(WebCore::ShareableBitmapConfiguration::calculateBytesPerRow):
* Source/WebCore/platform/graphics/skia/SkiaAcceleratedBufferPool.cpp:
(WebCore::SkiaAcceleratedBufferPool::createAcceleratedBuffer):
* Source/WebCore/platform/image-decoders/skia/ImageBackingStoreSkia.cpp:
(WebCore::ImageBackingStore::image const):
* Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyMask):
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGResourceMasker.cpp:
(WebCore::LegacyRenderSVGResourceMasker::applyResource):
(WebCore::LegacyRenderSVGResourceMasker::drawContentIntoMaskImage):
* Source/WebKit/PlatformGTK.cmake:
* Source/WebKit/PlatformWPE.cmake:
* Source/WebKit/Shared/WebCoreArgumentCoders.h:
* Source/WebKit/Shared/WebCoreArgumentCoders.serialization.in:
* Source/WebKit/Shared/skia/CoreIPCSkColorSpace.h: Copied from 
Source/WebKit/Shared/skia/WebCoreArgumentCodersSkia.cpp.
(WebKit::CoreIPCSkColorSpace::CoreIPCSkColorSpace):
(WebKit::CoreIPCSkColorSpace::skColorSpace const):
(WebKit::CoreIPCSkColorSpace::dataReference const):
* Source/WebKit/Shared/skia/CoreIPCSkColorSpace.serialization.in: Added.
* Source/WebKit/Shared/skia/WebCoreArgumentCodersSkia.cpp:
(IPC::ArgumentCoder<sk_sp<SkColorSpace>>::encode):
(IPC::ArgumentCoder<sk_sp<SkColorSpace>>::decode):
* Source/WebKit/UIProcess/cairo/BackingStoreCairo.cpp:
(WebKit::BackingStore::incorporateUpdate):
* Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::windowSnapshotImage):
* Tools/WebKitTestRunner/wpe/PlatformWebViewClientWPE.cpp:
(WTR::PlatformWebViewClientWPE::snapshot):
* Tools/wpe/backends/fdo/HeadlessViewBackendFdo.cpp:
(WPEToolingBackends::HeadlessViewBackend::HeadlessViewBackend):
(WPEToolingBackends::HeadlessViewBackend::updateSnapshot):

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



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

Reply via email to