Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 53278398038f20dcfbe04be7ebce64fcb686ca3a
      
https://github.com/WebKit/WebKit/commit/53278398038f20dcfbe04be7ebce64fcb686ca3a
  Author: Sam Weinig <[email protected]>
  Date:   2026-09-27 (Sun, 27 Sep 2026)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.mm
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AccessibilityObject.cpp
    M Source/WebCore/html/CustomPaintImage.cpp
    M Source/WebCore/html/CustomPaintImage.h
    M Source/WebCore/page/FrameConsoleClient.cpp
    M Source/WebCore/page/InteractionRegion.cpp
    M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp
    M Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h
    M Source/WebCore/platform/graphics/BitmapImage.cpp
    M Source/WebCore/platform/graphics/BitmapImage.h
    M Source/WebCore/platform/graphics/ColorImageGeneratedImage.cpp
    M Source/WebCore/platform/graphics/ColorImageGeneratedImage.h
    M Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp
    M Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h
    M Source/WebCore/platform/graphics/GeneratedImage.h
    M Source/WebCore/platform/graphics/GradientImage.cpp
    M Source/WebCore/platform/graphics/GradientImage.h
    M Source/WebCore/platform/graphics/GraphicsContext.cpp
    M Source/WebCore/platform/graphics/GraphicsContext.h
    M Source/WebCore/platform/graphics/Image.cpp
    M Source/WebCore/platform/graphics/Image.h
    M Source/WebCore/platform/graphics/ImageAdapter.cpp
    A Source/WebCore/platform/graphics/ImageDrawingExtras.cpp
    A Source/WebCore/platform/graphics/ImageDrawingExtras.h
    M Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp
    M Source/WebCore/platform/graphics/NamedImageGeneratedImage.h
    M Source/WebCore/platform/graphics/NullGraphicsContext.h
    M Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
    M Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp
    M Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp
    M Source/WebCore/platform/graphics/cg/PDFDocumentImage.h
    M Source/WebCore/platform/graphics/cocoa/ImageAdapterCocoa.mm
    M Source/WebCore/platform/graphics/coordinated/GraphicsLayerCoordinated.cpp
    M Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp
    M Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp
    M Source/WebCore/platform/graphics/win/cairo/ImageAdapterWinCairo.cpp
    M Source/WebCore/platform/ios/DragImageIOS.mm
    M Source/WebCore/platform/skia/DragImageSkia.cpp
    M Source/WebCore/platform/win/cairo/DragImageWinCairo.cpp
    M Source/WebCore/rendering/NinePieceImagePainter.cpp
    M Source/WebCore/rendering/RenderImage.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/shapes/LayoutShape.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp
    M Source/WebCore/svg/SVGFEImageElement.cpp
    M Source/WebCore/svg/graphics/SVGImage.cpp
    M Source/WebCore/svg/graphics/SVGImage.h
    M Source/WebCore/svg/graphics/SVGImageForContainer.cpp
    M Source/WebCore/svg/graphics/SVGImageForContainer.h
    M Source/WebCore/svg/graphics/SVGResourceImage.cpp
    M Source/WebCore/svg/graphics/SVGResourceImage.h
    M Source/WebCore/testing/Internals.cpp
    M Source/WebKit/Shared/ContextMenuContextData.cpp
    M Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
    M Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp
    M Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp
    M Source/WebKit/UIProcess/gtk/GtkUtilities.cpp
    M Source/WebKit/UIProcess/ios/DragDropInteractionState.mm
    M Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
    M Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp
    M Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.cpp
    M Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp
    M Source/WebKit/WebProcess/WebPage/WebPage.cpp
    M Source/WebKitLegacy/mac/Misc/WebCache.mm
    M 
Tools/TestWebKitAPI/Tests/WebCore/cocoa/BifurcatedGraphicsContextTestsCG.cpp

  Log Message:
  -----------
  [Image Redux] Require a ConcreteObjectSize + image drawing extras for all 
image drawing functions
https://bugs.webkit.org/show_bug.cgi?id=325423

Reviewed by Simon Fraser.

Changes all the image rasterization functions, including things like 
drawImage(), but also
nativeImage() accessors, to take a required ConcreteObjectSize and an optional 
ImageDrawingExtras.

In this initial change, the ConcreteObjectSize is just 
ConcreteObjectSize::fixed(image.size()),
but in the future, Image will not have a size() function, and will require 
callers to perform
size negotiation to produce the ConcreteObjectSize.

The ImageDrawingExtras will be used to pass SVG specific state to SVGImage in 
the future, but
for now is always null. It's being added in this change because its already 
touching all the
signatures, so adding it now will produce less churn in the future.

* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/Modules/system-preview/ARKitBadgeSystemImage.mm:
* Source/WebCore/accessibility/AccessibilityObject.cpp:
* Source/WebCore/html/CustomPaintImage.cpp:
* Source/WebCore/html/CustomPaintImage.h:
* Source/WebCore/page/FrameConsoleClient.cpp:
* Source/WebCore/page/InteractionRegion.cpp:
* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
* Source/WebCore/platform/graphics/BitmapImage.cpp:
* Source/WebCore/platform/graphics/BitmapImage.h:
* Source/WebCore/platform/graphics/ColorImageGeneratedImage.cpp:
* Source/WebCore/platform/graphics/ColorImageGeneratedImage.h:
* Source/WebCore/platform/graphics/CrossfadeGeneratedImage.cpp:
* Source/WebCore/platform/graphics/CrossfadeGeneratedImage.h:
* Source/WebCore/platform/graphics/GeneratedImage.h:
* Source/WebCore/platform/graphics/GradientImage.cpp:
* Source/WebCore/platform/graphics/GradientImage.h:
* Source/WebCore/platform/graphics/GraphicsContext.cpp:
* Source/WebCore/platform/graphics/GraphicsContext.h:
* Source/WebCore/platform/graphics/Image.cpp:
* Source/WebCore/platform/graphics/Image.h:
* Source/WebCore/platform/graphics/ImageAdapter.cpp:
* Source/WebCore/platform/graphics/ImageDrawingExtras.cpp: Added.
* Source/WebCore/platform/graphics/ImageDrawingExtras.h: Added.
* Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp:
* Source/WebCore/platform/graphics/NamedImageGeneratedImage.h:
* Source/WebCore/platform/graphics/NullGraphicsContext.h:
* Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp:
* Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp:
* Source/WebCore/platform/graphics/cg/PDFDocumentImage.cpp:
* Source/WebCore/platform/graphics/cg/PDFDocumentImage.h:
* Source/WebCore/platform/graphics/cocoa/ImageAdapterCocoa.mm:
* Source/WebCore/platform/graphics/coordinated/GraphicsLayerCoordinated.cpp:
* Source/WebCore/platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
* Source/WebCore/platform/graphics/texmap/TextureMapperTile.cpp:
* Source/WebCore/platform/graphics/win/cairo/ImageAdapterWinCairo.cpp:
* Source/WebCore/platform/ios/DragImageIOS.mm:
* Source/WebCore/platform/skia/DragImageSkia.cpp:
* Source/WebCore/platform/win/cairo/DragImageWinCairo.cpp:
* Source/WebCore/rendering/NinePieceImagePainter.cpp:
* Source/WebCore/rendering/RenderImage.cpp:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
* Source/WebCore/rendering/shapes/LayoutShape.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleFilterImage.cpp:
* Source/WebCore/svg/SVGFEImageElement.cpp:
* Source/WebCore/svg/graphics/SVGImage.cpp:
* Source/WebCore/svg/graphics/SVGImage.h:
* Source/WebCore/svg/graphics/SVGImageForContainer.cpp:
* Source/WebCore/svg/graphics/SVGImageForContainer.h:
* Source/WebCore/svg/graphics/SVGResourceImage.cpp:
* Source/WebCore/svg/graphics/SVGResourceImage.h:
* Source/WebCore/testing/Internals.cpp:
* Source/WebKit/Shared/ContextMenuContextData.cpp:
* Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp:
* Source/WebKit/UIProcess/API/wpe/WPEWebViewPlatform.cpp:
* Source/WebKit/UIProcess/Notifications/glib/NotificationService.cpp:
* Source/WebKit/UIProcess/gtk/GtkUtilities.cpp:
* Source/WebKit/UIProcess/ios/DragDropInteractionState.mm:
* Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
* Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
* Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextProxy.cpp:
* Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
* Source/WebKit/WebProcess/WebPage/WebPage.cpp:
* Source/WebKitLegacy/mac/Misc/WebCache.mm:
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/BifurcatedGraphicsContextTestsCG.cpp:

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



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

Reply via email to