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( |