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

  Changed paths:
    M LayoutTests/interaction-region/icon-masking-expected.txt
    M Source/WebCore/Headers.cmake
    M Source/WebCore/SaferCPPExpectations/UncountedCallArgsCheckerExpectations
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/accessibility/AccessibilityRenderObject.cpp
    M Source/WebCore/dom/mac/ImageControlsMac.cpp
    M Source/WebCore/editing/cocoa/EditingHTMLConverter.mm
    M Source/WebCore/editing/glib/EditorGLib.cpp
    M Source/WebCore/editing/ios/EditorIOS.mm
    M Source/WebCore/editing/mac/EditorMac.mm
    M Source/WebCore/html/CustomPaintImage.cpp
    M Source/WebCore/html/HTMLImageElement.cpp
    M Source/WebCore/html/ImageDocument.cpp
    M Source/WebCore/html/ImageInputType.cpp
    M Source/WebCore/loader/cache/CachedImage.cpp
    M Source/WebCore/loader/cache/CachedImage.h
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/page/EventHandler.cpp
    M Source/WebCore/page/InteractionRegion.cpp
    M Source/WebCore/page/LargestContentfulPaintData.cpp
    M Source/WebCore/page/PageSerializer.cpp
    M Source/WebCore/platform/graphics/ColorImageGeneratedImage.cpp
    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/GraphicsContext.cpp
    M Source/WebCore/platform/graphics/Image.cpp
    M Source/WebCore/platform/graphics/Image.h
    M Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp
    M Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp
    M Source/WebCore/platform/win/PasteboardWin.cpp
    M Source/WebCore/rendering/BackgroundPainter.cpp
    M Source/WebCore/rendering/BorderPainter.cpp
    M Source/WebCore/rendering/HitTestResult.cpp
    M Source/WebCore/rendering/RenderImage.cpp
    M Source/WebCore/rendering/RenderImage.h
    M Source/WebCore/rendering/RenderImageResource.cpp
    M Source/WebCore/rendering/RenderImageResource.h
    M Source/WebCore/rendering/RenderLayer.cpp
    M Source/WebCore/rendering/RenderLayerBacking.cpp
    M Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.cpp
    M Source/WebCore/rendering/svg/SVGImageIntrinsicSizing.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleCachedImage.h
    M Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleCursorImage.h
    M Source/WebCore/style/values/images/kinds/StyleGeneratedImage.h
    M Source/WebCore/style/values/images/kinds/StyleImage.h
    M Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleMultiImage.h
    M Source/WebCore/svg/SVGFEImageElement.cpp
    M Source/WebCore/svg/graphics/SVGImage.cpp
    M Source/WebCore/svg/graphics/SVGImage.h
    R Source/WebCore/svg/graphics/SVGImageCache.cpp
    R Source/WebCore/svg/graphics/SVGImageCache.h
    R Source/WebCore/svg/graphics/SVGImageForContainer.cpp
    R Source/WebCore/svg/graphics/SVGImageForContainer.h
    M Source/WebKit/WebKitUIProcessPrefix.h
    M Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp
    M Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm
    M Source/WebKitLegacy/mac/DOM/DOM.mm
    M Tools/Scripts/webkitpy/api_tests/allowlist.txt
    M Tools/TestWebKitAPI/CMakeLists.txt
    M Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
    R Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp

  Log Message:
  -----------
  [Image Redux] Add ability for callers to pass size and extras to SVG images 
(part 2) (and delete SVGImageCache and SVGImageForContainer)
https://bugs.webkit.org/show_bug.cgi?id=325659

Reviewed by Darin Adler.

The previous change made every caller pass an SVG image its concrete object 
size and additional state
like link-parameters via draw. This change makes SVGImage use them, and deletes 
the out-of-band state
they replace.

With SVGImage using the state passed to draw, we can safely get rid of 
SVGImageCache and SVGImageForContainer
as well as the need to pass renderers to WebCore::CachedImage functions.

Style::Image still has the concept of a container size for generated images and 
SVG paint servers, but
those both don't depend on WebCore::CachedImage, SVGImageCache or 
SVGImageForContainer.

* LayoutTests/interaction-region/icon-masking-expected.txt: The SVG icon is now 
rasterized at the SVGImage's
container size rather than the SVGImageForContainer's, which moves a few mask 
edges by a pixel due to small
rounding differences.
* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
* Source/WebCore/css/CSSImageValue.cpp:
* Source/WebCore/dom/mac/ImageControlsMac.cpp:
* Source/WebCore/editing/cocoa/EditingHTMLConverter.mm:
* Source/WebCore/editing/glib/EditorGLib.cpp:
* Source/WebCore/editing/ios/EditorIOS.mm:
* Source/WebCore/editing/mac/EditorMac.mm:
* Source/WebCore/html/CustomPaintImage.cpp:
* Source/WebCore/html/HTMLImageElement.cpp:
* Source/WebCore/html/ImageDocument.cpp:
* Source/WebCore/html/ImageInputType.cpp:
* Source/WebCore/loader/cache/CachedImage.cpp:
* Source/WebCore/loader/cache/CachedImage.h:
* Source/WebCore/page/DragController.cpp:
* Source/WebCore/page/EventHandler.cpp:
* Source/WebCore/page/InteractionRegion.cpp:
* Source/WebCore/page/LargestContentfulPaintData.cpp:
* Source/WebCore/page/PageSerializer.cpp:
* Source/WebCore/platform/graphics/ColorImageGeneratedImage.cpp:
* 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/GraphicsContext.cpp:
* Source/WebCore/platform/graphics/Image.cpp:
* Source/WebCore/platform/graphics/Image.h:
* Source/WebCore/platform/graphics/NamedImageGeneratedImage.cpp:
* Source/WebCore/platform/graphics/cg/ImageUtilitiesCG.cpp:
* Source/WebCore/platform/win/PasteboardWin.cpp:
* Source/WebCore/rendering/BackgroundPainter.cpp:
* Source/WebCore/rendering/BorderPainter.cpp:
* Source/WebCore/rendering/HitTestResult.cpp:
* Source/WebCore/rendering/RenderImage.cpp:
* Source/WebCore/rendering/RenderImage.h:
* Source/WebCore/rendering/RenderImageResource.cpp:
* Source/WebCore/rendering/RenderImageResource.h:
* Source/WebCore/rendering/RenderLayer.cpp:
* Source/WebCore/rendering/RenderLayerBacking.cpp:
* Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
* Source/WebCore/rendering/svg/SVGImageIntrinsicSizing.cpp:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCachedImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCachedImage.h:
* Source/WebCore/style/values/images/kinds/StyleCrossfadeImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCursorImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleCursorImage.h:
* Source/WebCore/style/values/images/kinds/StyleGeneratedImage.h:
* Source/WebCore/style/values/images/kinds/StyleImage.h:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.h:
* Source/WebCore/svg/SVGFEImageElement.cpp:
* Source/WebCore/svg/graphics/SVGImage.cpp:
* Source/WebCore/svg/graphics/SVGImage.h:
* Source/WebCore/svg/graphics/SVGImageCache.cpp: Removed.
* Source/WebCore/svg/graphics/SVGImageCache.h: Removed.
* Source/WebCore/svg/graphics/SVGImageForContainer.cpp: Removed.
* Source/WebCore/svg/graphics/SVGImageForContainer.h: Removed.
* Source/WebKit/WebKitUIProcessPrefix.h:
* Source/WebKit/WebProcess/WebCoreSupport/ShareableBitmapUtilities.cpp:
* Source/WebKit/WebProcess/WebPage/Cocoa/PositionInformationForWebPage.mm:
* Source/WebKitLegacy/mac/DOM/DOM.mm:
* Tools/Scripts/webkitpy/api_tests/allowlist.txt:
* Tools/TestWebKitAPI/CMakeLists.txt:
* Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* Tools/TestWebKitAPI/Tests/WebCore/SVGImageCasts.cpp: Removed.

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



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

Reply via email to