Skip to content

webview: sample click(selector) stability from distinct rAF callbacks - #35173

Closed
robobun wants to merge 5 commits into
mainfrom
farm/29592ceb/webview-click-stable-raf
Closed

robobun wants to merge 5 commits into
mainfrom
farm/29592ceb/webview-click-stable-raf

webview: bound actionability rAF wait by the deadline

9de11a6
Select commit
Loading
Failed to load commit list.
Claude / Claude Code Review completed Jul 22, 2026 in 16m 1s

Code review found 1 potential issue

Found 1 candidates, confirmed 1. See review comments for details.

Details

Severity Count
🔴 Important 0
🟡 Nit 1
🟣 Pre-existing 0
Severity File:Line Issue
🟡 Nit src/runtime/webview/ChromeBackend.h:287-295 setTimeout deadline race applied to actionability but not sibling scrollTo scripts

Annotations

Check warning on line 295 in src/runtime/webview/ChromeBackend.h

See this annotation in the file changed.

@claude claude / Claude Code Review

setTimeout deadline race applied to actionability but not sibling scrollTo scripts

The new setTimeout-vs-rAF race ("the timeout contract holds when the renderer is not producing frames") is added to `kActionabilityIIFE`/`kActionabilityJS` but not to the adjacent `kScrollToIIFE` (ChromeBackend.h:316-324) and `kScrollToJS` (WebViewHost.cpp:396-404), which retain the bare `await new Promise(f => requestAnimationFrame(f))` — so `scrollTo(selector, {timeout})` still hangs past its deadline under the exact condition the new comment documents. This is pre-existing (the old actionabil