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..a041d68de37935a326687db6c18c31df3c53bc9d 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()) |
| return; |
| // TODO(hajimehoshi): Implement purging e.g. cache (crbug/607077) |
| is_renderer_suspended_ = true; |
| @@ -1877,6 +1877,15 @@ void RenderThreadImpl::RecordPurgeAndSuspendMetrics() const { |
| 1024 / 1024); |
| } |
| +void RenderThreadImpl::OnProcessResume() { |
| + ChildThreadImpl::OnProcessResume(); |
| + if (!is_renderer_suspended_) |
|
dcheng
2016/10/27 03:41:58
Do we expect this conditional to be hit in practic
tasak
2016/10/27 04:49:40
Replaced the "if" with DCHECK.
TabManager will ha
|
| + return; |
| + |
| + is_renderer_suspended_ = false; |
| + renderer_scheduler_->ResumeRenderer(); |
| +} |
| + |
| scoped_refptr<gpu::GpuChannelHost> RenderThreadImpl::EstablishGpuChannelSync() { |
| TRACE_EVENT0("gpu", "RenderThreadImpl::EstablishGpuChannelSync"); |