Bug 140374

Summary: Web Replay: animations should pause when deterministic playback is paused
Product: WebKit Reporter: Brian Burg <burg>
Component: AnimationsAssignee: Nobody <webkit-unassigned>
Status: RESOLVED LATER    
Severity: Normal CC: bburg, dino, joepeck, kling
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on:    
Bug Blocks: 136290    

Description Brian Burg 2015-01-12 15:20:08 PST
It would be nice to suspend animations while a playback is paused, using the same code path as suspending when changing tabs or for a modal dialog.

Some issues with this: the code to suspend (Document::suspend+resumeScheduledTasks / PageGroupLoadDeferrer) will trigger timers which are normally deterministic such as ScriptRunner::m_timer and animation timers, which would cause a divergence by over-scheduling the timer. If playback is paused and we call suspendScheduledTasks, it calls ScriptRunner's m_timer.stop(). A subsequent resumeScheduledTasks will do m_timer.startOneShot(0, this). I *think* that this second startOneShot should be ignored, as it could run JS prematurely if some scripts were pending when playback pauses.
Comment 1 BJ Burg 2017-07-10 13:59:33 PDT
Closing web replay-related bugs until we resume working on the feature again.