Bug 311810

Summary: REGRESSION(310666@main): requestAnimationFrame and requestVideoFrameCallback callbacks are not fired in isolated worlds when JS is disabled in the main page.
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: AnimationsAssignee: Carlos Alberto Lopez Perez <clopez>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, graouts, rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=311243

Carlos Alberto Lopez Perez
Reported 2026-04-09 04:09:57 PDT
After 310666@main, ScriptedAnimationController::serviceRequestAnimationFrameCallbacks and HTMLVideoElement::serviceRequestVideoFrameCallbacks return early when canExecuteScripts(AboutToExecuteScript) returns false. Ideally in the call to canExecuteScripts(AboutToExecuteScript) it should be passing the isolatedWorld it belongs to, so canExecuteScripts returns true instead of false, but the problem is that both rAF and requestVideoFrameCallback are not aware of which world the callbacks were registered from, so its not possible to pass that (AFAIK). As a result, rAF and requestVideoFrameCallback callbacks registered from isolated worlds (e.g. browser extensions or injected scripts) are silently dropped when JavaScript is disabled in the main page.
Attachments
Carlos Alberto Lopez Perez
Comment 1 2026-04-09 04:24:39 PDT
Radar WebKit Bug Importer
Comment 2 2026-04-09 08:36:24 PDT
EWS
Comment 3 2026-04-13 02:17:14 PDT
Committed 311058@main (e46c5005ecf3): <https://commits.webkit.org/311058@main> Reviewed commits have been landed. Closing PR #62348 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.