[scheduler] Split suspending into pausing and stopping
Currently "suspending" means two different things. Split them into
pausing and stopping to avoid confusion.
- Pausing refers to the state during printing dialog, javascript
alerts and such. All javascript callbacks should not fire.
- Stopping refers to not running timers (and potentially more) on mobile
after five minutes in background.
Future work needed after this patch:
- Refactor task queues (i.e. get rid of suspendable one)
- Rename ScopedPageSuspender.
Change-Id: Ie8c0bb8339fea295ac1245d9b440769ad8452b51
Reviewed-on: https://chromium-review.googlesource.com/583450
Reviewed-by: Sami Kyöstilä <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Commit-Queue: Alexander Timin <[email protected]>
Cr-Commit-Position: refs/heads/master@{#491044}
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 9d0c812f..58ac590 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -1005,7 +1005,7 @@
}
if (pumping_events) {
- renderer_scheduler_->SuspendTimerQueue();
+ renderer_scheduler_->PauseTimerQueue();
WebView::WillEnterModalLoop();
}
@@ -1267,10 +1267,10 @@
isolate->IsolateInBackgroundNotification();
}
- renderer_scheduler_->SetTimerQueueSuspensionWhenBackgroundedEnabled(
+ renderer_scheduler_->SetTimerQueueStoppingWhenBackgroundedEnabled(
GetContentClient()
->renderer()
- ->AllowTimerSuspensionWhenProcessBackgrounded());
+ ->AllowStoppingTimersWhenProcessBackgrounded());
SkGraphics::SetResourceCacheSingleAllocationByteLimit(
kImageCacheSingleAllocationByteLimit);
@@ -2213,7 +2213,7 @@
void RenderThreadImpl::SetWebKitSharedTimersSuspended(bool suspend) {
#if defined(OS_ANDROID)
if (suspend) {
- renderer_scheduler_->SuspendTimerQueue();
+ renderer_scheduler_->PauseTimerQueue();
} else {
renderer_scheduler_->ResumeTimerQueue();
}