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

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    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/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/ImagePaintingOptions.h
    M Source/WebCore/platform/graphics/ImageTypes.h
    M Source/WebCore/platform/graphics/NullGraphicsContext.h
    M Source/WebCore/rendering/BackgroundPainter.cpp
    M Source/WebCore/rendering/NinePieceImagePainter.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/shapes/LayoutShape.cpp
    M Source/WebCore/rendering/shapes/LayoutShape.h
    M Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.cpp
    M Source/WebCore/rendering/svg/RenderSVGImage.h
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp
    M Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.h
    A Source/WebCore/style/values/images/StyleImageDrawingExtras.cpp
    A Source/WebCore/style/values/images/StyleImageDrawingExtras.h
    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/StyleImage.h
    M Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp
    M Source/WebCore/style/values/images/kinds/StyleMultiImage.h
    M Source/WebCore/style/values/primitives/StyleDeclarationValue.h
    M Source/WebCore/svg/graphics/SVGImage.cpp
    M Source/WebCore/svg/graphics/SVGImage.h
    M Source/WebCore/svg/graphics/SVGImageCache.cpp
    M Source/WebCore/svg/graphics/SVGImageForContainer.cpp
    M Source/WebCore/svg/graphics/SVGImageForContainer.h
    M 
Tools/TestWebKitAPI/Tests/WebCore/cocoa/BifurcatedGraphicsContextTestsCG.cpp

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

Reviewed by Simon Fraser.

The ultimate goal of this subset of the Image Redux changes is to remove 
SVGImageCache and
SVGImageForContainer.

Currently, when painting an SVG image, a renderer pushes the size it resolves 
for the image,
along with a bunch of additional state like link-parameters, into 
SVGImageCache, using the
SVGImageForContainer wrapper that comes back to paint the image.

In this chance, only the callers are being changed. Callers still push into the 
SVGImageCache,
and still use the SVGImageForContainer wrapper, but also now pass the state to 
the draw call.
Follow up changes will remove the push to the cache and use of 
SVGImageForContainer.

To get style level information to SVGImage without a layering violation, 
Style::ImageDrawingExtras
is introduced to allow packaging Style::LinkParameters as well as the URL with 
the fragment.
SVGImage does a dynamicDowncast to access these.

Rather than putting ENABLE(AX_CUSTOM_COLOR_MODE) in Style::ImageDrawingExtras, 
it makes more
sense for it to be added to ImagePaintingOptions as it doesn't require and 
Style level types.

* Source/WebCore/Headers.cmake:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/InteractionRegion.cpp:
* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
* Source/WebCore/platform/graphics/BifurcatedGraphicsContext.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/ImagePaintingOptions.h:
* Source/WebCore/platform/graphics/ImageTypes.h:
* Source/WebCore/platform/graphics/NullGraphicsContext.h:
* Source/WebCore/rendering/BackgroundPainter.cpp:
* Source/WebCore/rendering/NinePieceImagePainter.cpp:
* Source/WebCore/rendering/RenderImage.cpp:
* Source/WebCore/rendering/RenderImage.h:
* Source/WebCore/rendering/RenderImageResource.cpp:
* Source/WebCore/rendering/RenderImageResource.h:
* Source/WebCore/rendering/shapes/LayoutShape.cpp:
* Source/WebCore/rendering/shapes/LayoutShape.h:
* Source/WebCore/rendering/shapes/ShapeOutsideInfo.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.cpp:
* Source/WebCore/rendering/svg/RenderSVGImage.h:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.cpp:
* Source/WebCore/rendering/svg/legacy/LegacyRenderSVGImage.h:
* Source/WebCore/style/values/images/StyleImageDrawingExtras.h: Added.
* 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/StyleImage.h:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.cpp:
* Source/WebCore/style/values/images/kinds/StyleMultiImage.h:
* Source/WebCore/style/values/primitives/StyleDeclarationValue.h:
* Source/WebCore/svg/graphics/SVGImage.cpp:
* Source/WebCore/svg/graphics/SVGImage.h:
* Source/WebCore/svg/graphics/SVGImageCache.cpp:
* Source/WebCore/svg/graphics/SVGImageForContainer.cpp:
* Source/WebCore/svg/graphics/SVGImageForContainer.h:
* Tools/TestWebKitAPI/Tests/WebCore/cocoa/BifurcatedGraphicsContextTestsCG.cpp:

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



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

Reply via email to