Index: android_webview/browser/gl_view_renderer_manager.cc |
diff --git a/android_webview/browser/gl_view_renderer_manager.cc b/android_webview/browser/gl_view_renderer_manager.cc |
index bca0d135f2c8a63f5b74ffde04735a0a53d7fe3a..ab22fe033859ab34bb438d5123e0494ea74e7306 100644 |
--- a/android_webview/browser/gl_view_renderer_manager.cc |
+++ b/android_webview/browser/gl_view_renderer_manager.cc |
@@ -4,11 +4,16 @@ |
#include "android_webview/browser/gl_view_renderer_manager.h" |
+#include "android_webview/browser/browser_view_renderer.h" |
+#include "base/bind.h" |
#include "base/logging.h" |
namespace android_webview { |
-GLViewRendererManager::GLViewRendererManager() {} |
+GLViewRendererManager::GLViewRendererManager() { |
+ memory_pressure_listener_.reset(new base::MemoryPressureListener(base::Bind( |
joth
2013/10/01 11:10:46
the thread you construct this on is the thread you
|
+ &GLViewRendererManager::OnMemoryPressure, base::Unretained(this)))); |
joth
2013/10/01 11:10:46
generally folks break before the bind() call --
|
+} |
GLViewRendererManager::~GLViewRendererManager() {} |
@@ -42,4 +47,13 @@ GLViewRendererManager::Key GLViewRendererManager::NullKey() { |
return mru_list_.end(); |
} |
+void GLViewRendererManager::OnMemoryPressure( |
+ base::MemoryPressureListener::MemoryPressureLevel memory_pressure_level) { |
+ for (ListType::iterator itr = mru_list_.begin(); |
+ itr != mru_list_.end(); |
+ ++itr) { |
+ (*itr)->OnMemoryPressure(memory_pressure_level); |
joth
2013/10/01 11:10:46
plumbing this via GLViewRendererManager doesn't se
|
+ } |
+} |
+ |
} // namespace android_webview |