| Index: third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
|
| diff --git a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
|
| index f6b97061560020aeb42b1cecdba85c84b35f1335..d0537a21e48c86d03f01950b351032c65bcab08c 100644
|
| --- a/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
|
| +++ b/third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc
|
| @@ -100,7 +100,7 @@ WebViewSchedulerImpl::WebViewSchedulerImpl(
|
| should_throttle_frames_(false),
|
| disable_background_timer_throttling_(disable_background_timer_throttling),
|
| allow_virtual_time_to_advance_(true),
|
| - timers_suspended_(false),
|
| + virtual_time_paused_(false),
|
| have_seen_loading_task_(false),
|
| virtual_time_(false),
|
| is_audio_playing_(false),
|
| @@ -189,15 +189,17 @@ void WebViewSchedulerImpl::DisableVirtualTimeForTesting() {
|
| }
|
|
|
| void WebViewSchedulerImpl::ApplyVirtualTimePolicyToTimers() {
|
| - if (!virtual_time_ || allow_virtual_time_to_advance_) {
|
| - if (timers_suspended_) {
|
| - renderer_scheduler_->ResumeTimerQueue();
|
| - timers_suspended_ = false;
|
| - }
|
| - } else if (!timers_suspended_) {
|
| - renderer_scheduler_->SuspendTimerQueue();
|
| - timers_suspended_ = true;
|
| + bool virtual_time_should_be_paused =
|
| + virtual_time_ && !allow_virtual_time_to_advance_;
|
| + if (virtual_time_should_be_paused == virtual_time_paused_)
|
| + return;
|
| +
|
| + if (virtual_time_should_be_paused) {
|
| + renderer_scheduler_->VirtualTimePaused();
|
| + } else {
|
| + renderer_scheduler_->VirtualTimeResumed();
|
| }
|
| + virtual_time_paused_ = virtual_time_should_be_paused;
|
| }
|
|
|
| void WebViewSchedulerImpl::SetAllowVirtualTimeToAdvance(
|
|
|