Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 18daea92a8e0d7d9d41494c8bece73b3cf6548df..47371369dcb397885bf54f69dbdb24ae27e2b1cc 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -1156,6 +1156,11 @@ void RenderThreadImpl::EnsureWebKitInitialized() { |
if (GetContentClient()->renderer()->RunIdleHandlerWhenWidgetsHidden()) |
ScheduleIdleHandler(kLongIdleHandlerDelayMs); |
+ renderer_scheduler_->SetTimerQueueSuspensionWhenBackgroundedEnabled( |
+ GetContentClient() |
+ ->renderer() |
+ ->AllowTimerSuspensionWhenProcessBackgrounded()); |
+ |
cc_blink::SetSharedBitmapAllocationFunction(AllocateSharedBitmapFunction); |
SkGraphics::SetResourceCacheSingleAllocationByteLimit( |
@@ -1619,6 +1624,15 @@ bool RenderThreadImpl::OnControlMessageReceived(const IPC::Message& msg) { |
return handled; |
} |
+void RenderThreadImpl::OnProcessBackgrounded(bool backgrounded) { |
+ ChildThreadImpl::OnProcessBackgrounded(backgrounded); |
+ |
+ if (backgrounded) |
+ renderer_scheduler_->OnRendererBackgrounded(); |
+ else |
+ renderer_scheduler_->OnRendererForegrounded(); |
+} |
+ |
void RenderThreadImpl::OnCreateNewFrame(FrameMsg_NewFrame_Params params) { |
CompositorDependencies* compositor_deps = this; |
RenderFrameImpl::CreateFrame( |