Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index 304c589e7c69caf194802ab4eaaeb0913aafa6e7..20431e025fc40df8f71cf7ebdcbd62db05123367 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -1727,7 +1727,15 @@ void RenderThreadImpl::OnProcessPurgeAndSuspend() { |
ChildThreadImpl::OnProcessPurgeAndSuspend(); |
if (is_renderer_suspended_) |
return; |
- // TODO(hajimehoshi): Implement purging e.g. cache (crbug/607077) |
+ |
+ OnSyncMemoryPressure( |
+ base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
+ OnMemoryPressure( |
+ base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
+ base::MemoryPressureListener::NotifyMemoryPressure( |
+ base::MemoryPressureListener::MEMORY_PRESSURE_LEVEL_CRITICAL); |
+ base::allocator::ReleaseFreeMemory(); |
+ |
is_renderer_suspended_ = true; |
renderer_scheduler_->SuspendRenderer(); |
} |