Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1241)

Unified Diff: third_party/WebKit/Source/platform/scheduler/renderer/web_view_scheduler_impl.cc

Issue 2909293002: Allow tasks scheduled for the instant virtual time budges expires to run (Closed)
Patch Set: Changes for altimin@ Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698