[webkit-changes] [WebKit/WebKit] 18cbc2: Symbolic names for ImageBuffer backends complicate...

Kimmo Kinnunen noreply at github.com
Wed Sep 27 23:01:51 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 18cbc28a15bebf4e20edcfadd97f145b85d008f8
      https://github.com/WebKit/WebKit/commit/18cbc28a15bebf4e20edcfadd97f145b85d008f8
  Author: Kimmo Kinnunen <kkinnunen at apple.com>
  Date:   2023-09-27 (Wed, 27 Sep 2023)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/PlatformMac.cmake
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/platform/graphics/ImageBuffer.cpp
    A Source/WebCore/platform/graphics/ImageBufferPlatformBackend.h
    R Source/WebCore/platform/graphics/PlatformImageBuffer.h
    R Source/WebCore/platform/graphics/PlatformImageBufferBackend.h
    A Source/WebCore/platform/graphics/cg/IOSurfaceImageBuffer.h
    M Source/WebCore/platform/graphics/coreimage/FilterImageCoreImage.mm
    M Source/WebCore/platform/graphics/coreimage/SourceGraphicCoreImageApplier.mm
    M Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm
    M Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm
    M Source/WebKit/WebKit.xcodeproj/project.pbxproj
    M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp
    M Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h
    R Source/WebKit/WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h
    M Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp
    M Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp

  Log Message:
  -----------
  Symbolic names for ImageBuffer backends complicate the code unneccessarily
https://bugs.webkit.org/show_bug.cgi?id=262110
rdar://116049610

Reviewed by Said Abou-Hallawa.

The symbolic names UnacceleratedImageBuffer*Backend and
AcceleratedImageBuffer*Backend were probably originally introduced
to help the caller code to create image buffers in cross-platform way.
However, the image buffer instantiation is based on global policy that
is invoked by ImageBuffer::create().

Instantiating the Accelerated image buffers is platform-specific operation,
as demonstrated by IOSurface specific parameters in ImageBufferCreationContext
amalgamation structure.

Remove the symbolic names, as they make further simplification unneccessarily
complex. Just use the normal class names inside ifdefs that already exist
at the call sites.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::create):
* Source/WebCore/platform/graphics/PlatformImageBuffer.h:
* Source/WebCore/platform/graphics/PlatformImageBufferBackend.h: Removed.
* Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStore.mm:
* Source/WebKit/Shared/RemoteLayerTree/RemoteLayerBackingStoreCollection.mm:
(WebKit::RemoteLayerBackingStoreCollection::allocateBufferForBackingStore):
* Source/WebKit/WebKit.xcodeproj/project.pbxproj:
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::ImageBufferShareableBitmapBackend):
* Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
* Source/WebKit/WebProcess/GPU/graphics/PlatformImageBufferShareableBackend.h: Removed.
* Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.cpp:
(WebKit::RemoteImageBufferProxy::didCreateBackend):
* Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::createImageBuffer):
* Source/WebKit/WebProcess/WebPage/wc/DrawingAreaWC.cpp:
(WebKit::DrawingAreaWC::createImageBuffer):

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




More information about the webkit-changes mailing list