| Summary: | requestAnimationFrame is not called after a certain WKWebView magnification | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Felix Franz <felix> | ||||
| Component: | Animations | Assignee: | Nobody <webkit-unassigned> | ||||
| Status: | NEW --- | ||||||
| Severity: | Normal | CC: | dino, graouts, graouts, kkinnunen, sabouhallawa, simon.fraser, smoley, webkit-bug-importer, wenson_hsieh | ||||
| Priority: | P2 | Keywords: | InRadar | ||||
| Version: | Safari 15 | ||||||
| Hardware: | Mac (Apple Silicon) | ||||||
| OS: | macOS 12 | ||||||
| Attachments: |
|
||||||
Thanks for filing, this does not reproduce for me on macOS 12.5 beta 5 (21G5063a). I stopped zooming in around 25. Are you able to reproduce this on that build? I can reproduce. You have to scroll sideways a little to get into the state where it stops animating. The visibleRect passed to `FrameView::updateScriptedAnimationsAndTimersThrottlingState` is wrong. We should just change this code to use an internal IntersectionObserver. |
Created attachment 460651 [details] Xcode project showing the issue In our application (MacOS-application using WKWebView), we have an issue where after a certain magnification requestAnimationFrame-handlers are not called anymore (or very very rarely). I tried to strip down the issue and was able to reproduce it in a simple Cocoa-Application using a WKWebView which displays a web page. Steps to reproduce: * build and open the attached Xcode project * you see some elements and a red cell with an updating number in it * Click on the "zoom in"-button (and make sure you see the updating number) * Starting from a magnification of 3 (you can see the magnification in the lower right corner) the number stops updating * zoom out again and it starts again. the requestAnimationFrame handler is set in the viewer.html. If I use a simpler web page (only a one html with the same, or using a iframe it works as expected).