Chromium Code Reviews| Index: content/renderer/render_thread_impl.cc |
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
| index 6ca91bed3a272b90adb6bde4aa7d0e2ec2715f07..7296ab1965a7c5116af4244b3ebf7c479521b458 100644 |
| --- a/content/renderer/render_thread_impl.cc |
| +++ b/content/renderer/render_thread_impl.cc |
| @@ -1766,7 +1766,7 @@ void RenderThreadImpl::OnProcessBackgrounded(bool backgrounded) { |
| void RenderThreadImpl::OnProcessPurgeAndSuspend() { |
| ChildThreadImpl::OnProcessPurgeAndSuspend(); |
| - if (is_renderer_suspended_) |
| + if (is_renderer_suspended_ || !RendererIsHidden()) |
|
dcheng
2016/10/27 05:51:40
(I wonder if this should also be a DCHECK for the
tasak
2016/10/27 08:52:03
Acknowledged.
Currently TabManager sends PurgeAndS
|
| return; |
| // TODO(hajimehoshi): Implement purging e.g. cache (crbug/607077) |
| is_renderer_suspended_ = true; |
| @@ -1877,6 +1877,14 @@ void RenderThreadImpl::RecordPurgeAndSuspendMetrics() const { |
| 1024 / 1024); |
| } |
| +void RenderThreadImpl::OnProcessResume() { |
| + ChildThreadImpl::OnProcessResume(); |
| + |
| + DCHECK(is_renderer_suspended_); |
| + is_renderer_suspended_ = false; |
| + renderer_scheduler_->ResumeRenderer(); |
| +} |
| + |
| scoped_refptr<gpu::GpuChannelHost> RenderThreadImpl::EstablishGpuChannelSync() { |
| TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); |