Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: f0fdd66b69572b69950fe883e8e00069199e4132
      
https://github.com/WebKit/WebKit/commit/f0fdd66b69572b69950fe883e8e00069199e4132
  Author: Sam Weinig <[email protected]>
  Date:   2026-10-11 (Sun, 11 Oct 2026)

  Changed paths:
    M Source/WebCore/Headers.cmake
    M Source/WebCore/Sources.txt
    M Source/WebCore/WebCore.xcodeproj/project.pbxproj
    M Source/WebCore/page/DragController.cpp
    M Source/WebCore/rendering/RenderImage.cpp
    M Source/WebCore/rendering/RenderImage.h
    M Source/WebCore/rendering/RenderReplaced.cpp
    A Source/WebCore/rendering/ReplacedElementSizing.cpp
    A Source/WebCore/rendering/ReplacedElementSizing.h
    M Tools/TestWebKitAPI/Tests/WebKit/WKWebView/DragAndDropTests.mm

  Log Message:
  -----------
  [Image Redux] Drag images should match the rendered image
https://bugs.webkit.org/show_bug.cgi?id=326297

Reviewed by Simon Fraser.

Refactors `RenderImage` sizing and placement so it can be used for drag images.

Adds `ReplacedElementSizing` which takes over the sizing which used to be 
inline in `RenderReplaced::replacedContentRect`.
While in the neighborhood, also factors the `object-position` placement into 
its own function, `placeConcreteObject`,
and removes some unnecessary checks of style().objectViewBox().isNone() 
(`resolvedObjectViewBox` already returns std::nullopt
when there is no `object-view-box`).

In RenderImage, RenderImage::createNativeImageAsPainted() does the heavy 
lifting, ensuring a faithful painting of
itself (modulo a maximum size constraint) into a NativeImage.

Tests: DragAndDropTests.DragImageForObjectFitFill
       DragAndDropTests.DragImageForObjectFitContain
       DragAndDropTests.DragImageForObjectFitCover
       DragAndDropTests.DragImageForObjectFitNone
       DragAndDropTests.DragImageForObjectPosition
       DragAndDropTests.DragImageForSVGImageWithNaturalSize
       DragAndDropTests.DragImageForSVGImageWithOnlyViewBox
       DragAndDropTests.DragImageForSVGImageWithoutNaturalSize
       DragAndDropTests.DragImageForObjectViewBox
       DragAndDropTests.DragImageForImageOrientation

* Source/WebCore/Headers.cmake:
* Source/WebCore/Sources.txt:
* Source/WebCore/WebCore.xcodeproj/project.pbxproj:
* Source/WebCore/page/DragController.cpp:
* Source/WebCore/rendering/RenderImage.cpp:
* Source/WebCore/rendering/RenderImage.h:
* Source/WebCore/rendering/RenderReplaced.cpp:
* Source/WebCore/rendering/ReplacedElementSizing.cpp: Added.
* Source/WebCore/rendering/ReplacedElementSizing.h: Added.
* Tools/TestWebKitAPI/Tests/WebKit/WKWebView/DragAndDropTests.mm:

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



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

Reply via email to