Bug 260667

Summary: WindowEventLoop can infinite loop trying to run idle callback in suspended pages
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: DOMAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Safari Technology Preview   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on:    
Bug Blocks: 164193    

Description Ryosuke Niwa 2023-08-24 11:06:09 PDT
WindowEventLoop::didReachTimeToRun schedules itself again when an idle callback is scheduled but we didn't have enough time to run it.
This logic can infinite loop when the timer never fires because the document has been suspended.
Comment 1 Ryosuke Niwa 2023-08-24 11:06:40 PDT
<rdar://114384740>
Comment 2 Ryosuke Niwa 2023-08-24 11:11:19 PDT
Pull request: https://github.com/WebKit/WebKit/pull/17027
Comment 3 EWS 2023-08-24 14:24:45 PDT
Committed 267246@main (5033809fcf70): <https://commits.webkit.org/267246@main>

Reviewed commits have been landed. Closing PR #17027 and removing active labels.