Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 2d6fd854c9b61c5d3f5307310737f119d2068f39..920dad7d4de0fc70fbfcc186fc8b34a6d49dfab7 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -1894,7 +1894,6 @@ void RenderThreadImpl::OnProcessResume() { |
// and follow MemoryCoordinator's request. |
base::MemoryCoordinatorClientRegistry::GetInstance()->Notify( |
base::MemoryState::NORMAL); |
- renderer_scheduler_->ResumeRenderer(); |
} |
} |
@@ -2261,8 +2260,10 @@ void RenderThreadImpl::OnMemoryStateChange(base::MemoryState state) { |
} |
switch (state) { |
case base::MemoryState::NORMAL: |
+ ResumeRenderer(); |
break; |
case base::MemoryState::THROTTLED: |
+ ResumeRenderer(); |
ReleaseFreeMemory(); |
break; |
case base::MemoryState::SUSPENDED: |
@@ -2275,12 +2276,18 @@ void RenderThreadImpl::OnMemoryStateChange(base::MemoryState state) { |
} |
void RenderThreadImpl::SuspendRenderer() { |
+ DCHECK(IsMainThread()); |
OnTrimMemoryImmediately(); |
ReleaseFreeMemory(); |
ClearMemory(); |
renderer_scheduler_->SuspendRenderer(); |
} |
+void RenderThreadImpl::ResumeRenderer() { |
+ DCHECK(IsMainThread()); |
+ renderer_scheduler_->ResumeRenderer(); |
+} |
+ |
void RenderThreadImpl::ClearMemory() { |
// Do not call into blink if it is not initialized. |
if (blink_platform_impl_) { |