Created attachment 470457 [details] Blur test If translateZ() is used on an image, the image gets unloaded when scrolled out of view, and when you scroll back to the image there's nothing there. Reproducers: 1. flathub.org (open an app's entry, scroll the screenshots in the carousel in and out of view. The image is unloaded. Then in Inspector highlight the image and uncheck -webkit-transform: translateZ(0); The image pops back immediately. Now even if you scroll the screenshots in and out of view the images stay there.) 2. apple.com/mac-pro (scroll all the way to the Design section and activate the effect of taking off the case from the Mac Pro by scrolling past it. Then scroll back up. The case is gone. Now open Inspector, highlight the image of the case and uncheck z-index: 1; The case pops back immediately (but (correctly) behind the Mac Pro)) 3. I attached an HTML file that is used to test performance with blurs in another bug report. Open test-gpu.html. Scroll up and down repeatedly until all the blurred images get unloaded. Then reload the page and do not scroll yet. Open Inspector and uncheck all the transform: translateZ(0); Scroll up and down repeatedly. The images do not get unloaded. This can be observed in all WebKitGTK versions, whether Cairo or Skia.
This supersedes https://bugs.webkit.org/show_bug.cgi?id=255823
*** Bug 255823 has been marked as a duplicate of this bug. ***
Would this be the explanation for bug #250978, or that one is a different cause?
*** Bug 250978 has been marked as a duplicate of this bug. ***
Easier than https://apple.com/mac-pro as a test case is https://www.apple.com/ipad-keyboards/ ; if you scroll down the iPad keyboards page to the bottom and back up, all images are unloaded, which makes it easier to notice.
I've never noticed this until a few weeks ago, so I mistakenly assumed it was a WebKitGTK regression. But I tested as far back as August and the bug still occurs. If it's a recent regression, it's not caused by a WebKit change.
This can also be observed at https://www.codeedit.app/
Pull request: https://github.com/WebKit/WebKit/pull/29672
Committed 279898@main (3deb4217571c): <https://commits.webkit.org/279898@main> Reviewed commits have been landed. Closing PR #29672 and removing active labels.