NEW307996
`UIHelper.immediateZoomToScale()` is very flakey
https://bugs.webkit.org/show_bug.cgi?id=307996
Summary `UIHelper.immediateZoomToScale()` is very flakey
Simon Fraser (smfr)
Reported 2026-02-16 11:13:15 PST
Tests using `UIHelper.immediateZoomToScale()` are very likely flakey, e.g. bug 214358. Investigation shows that there's an IPC race which results in the scale set by `UIHelper.immediateZoomToScale` being clobbered by a scale coming from the web process, meaning that it almost always gets reset. This happens more often in release builds than debug builds. More specifically, the call to `UIHelper.immediateZoomToScale()` results in a `updateVisibleContentRects` to the web process with new scale, but this can overlap with a transaction from the web process back to the UI process with the previous scale, and `_updateScrollViewForTransaction:` uses this to clobber the new UI scale with an older scale. I think this only happens with the `immediate` version because `[_scrollView _wk_isZoomAnimating]` is false. Ideally we'd check some transaction IDs here to know that we just sent a new scale to the web process.
Attachments
Radar WebKit Bug Importer
Comment 1 2026-02-23 11:14:11 PST
Note You need to log in before you can comment on or make changes to this bug.