Summary: | Repaint issue with animating SVG inside <img> with object-fit | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Simon Fraser (smfr) <simon.fraser> | ||||
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | NEW --- | ||||||
Severity: | Normal | CC: | ahmad.saleem792, bfulgham, contact, karlcow, simon.fraser, webkit-bug-importer, zalan | ||||
Priority: | P2 | Keywords: | BrowserCompat, InRadar | ||||
Version: | Safari Technology Preview | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
See Also: | https://bugs.webkit.org/show_bug.cgi?id=227682 | ||||||
Attachments: |
|
Description
Simon Fraser (smfr)
2021-10-14 12:04:32 PDT
Partial fix: diff --git a/Source/WebCore/rendering/RenderImage.cpp b/Source/WebCore/rendering/RenderImage.cpp index 4e89c2e80b7801407d8eea0ae06c349666125012..5c8730151f09b77a03da0e02a38d1ccc5d792c73 100644 --- a/Source/WebCore/rendering/RenderImage.cpp +++ b/Source/WebCore/rendering/RenderImage.cpp @@ -371,7 +371,7 @@ void RenderImage::repaintOrMarkForLayout(ImageSizeChangeType imageSizeChange, co updateInnerContentRect(); } - LayoutRect repaintRect = contentBoxRect(); + LayoutRect repaintRect = replacedContentRect(); if (rect) { // The image changed rect is in source image coordinates (pre-zooming), // so map from the bounds of the image to the contentsBox. There's a bad initial repaint, and this needs tests. Created attachment 464167 [details]
rendering in safari
This shows the remanent image in the background
Can we pick tests from these two blink commit, which did similar looking changes in 'RenderImage'? https://src.chromium.org/viewvc/blink?revision=180015&view=revision & https://chromium.googlesource.com/chromium/blink/+/889169f1b0b5ef4fb9e126fea64c48d68f584456 I haven't checked whether they fail currently or not. |