Bug 140374 - Web Replay: animations should pause when deterministic playback is paused
Summary: Web Replay: animations should pause when deterministic playback is paused
Status: RESOLVED LATER
Alias: None
Product: WebKit
Classification: Unclassified
Component: Animations (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: WebReplay
  Show dependency treegraph
 
Reported: 2015-01-12 15:20 PST by Brian Burg
Modified: 2017-07-10 13:59 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
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 Brian Burg 2017-07-10 13:59:33 PDT
Closing web replay-related bugs until we resume working on the feature again.