memory coordinator: Purge memory under memory pressure
- On WARNING condition, request a backgrounded child process to purge memory
- On CRITICAL condition, try to discard a tab first. If it failed, try to
purge memory from all child processes. It it failed, try to purge memory
from the browser process
- Use somewhat conservative heuristics for purging
- Browser: suppress purging for 2 mins after a purge
- Renderer: after purging, suppress the next purging until the renderer
goes foreground -> background then remains backgrounded for 30 secs
BUG=696844
Review-Url: https://codereview.chromium.org/2763933002
Cr-Commit-Position: refs/heads/master@{#460622}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index a922a3d..02ec4b6d 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -534,6 +534,8 @@
void OnMemoryStateChange(base::MemoryState state) override;
void OnPurgeMemory() override;
+ void RecordPurgeMemory(RendererMemoryMetrics before);
+
void ClearMemory();
void Init(