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