summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/chrome_render_process_observer.cc
diff options
context:
space:
mode:
authorgbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-08 22:45:27 +0000
committergbillock@chromium.org <gbillock@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-08-08 22:45:27 +0000
commit2447e4f02ca6c56075fd5ba5d4551b69e7fcc641 (patch)
tree32fa84a37896245e5da39a2213e46f61726eab8a /chrome/renderer/chrome_render_process_observer.cc
parent352412f57870c52899bddf8d403245eb7ebace0a (diff)
downloadchromium_src-2447e4f02ca6c56075fd5ba5d4551b69e7fcc641.zip
chromium_src-2447e4f02ca6c56075fd5ba5d4551b69e7fcc641.tar.gz
chromium_src-2447e4f02ca6c56075fd5ba5d4551b69e7fcc641.tar.bz2
Forward handling of low-mem message to the content renderer client. Add APIs to handle this case.
Found from Coverity CID=16390 R=jam@chromium.org BUG= TEST=none Review URL: http://codereview.chromium.org/7222023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95896 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/chrome_render_process_observer.cc')
-rw-r--r--chrome/renderer/chrome_render_process_observer.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/renderer/chrome_render_process_observer.cc b/chrome/renderer/chrome_render_process_observer.cc
index d221d89..7805e7b 100644
--- a/chrome/renderer/chrome_render_process_observer.cc
+++ b/chrome/renderer/chrome_render_process_observer.cc
@@ -17,6 +17,7 @@
#include "chrome/common/extensions/extension_localization_peer.h"
#include "chrome/common/net/net_resource_provider.h"
#include "chrome/common/render_messages.h"
+#include "chrome/renderer/chrome_content_renderer_client.h"
#include "chrome/renderer/content_settings_observer.h"
#include "chrome/renderer/security_filter_peer.h"
#include "content/common/resource_dispatcher.h"
@@ -305,7 +306,9 @@ class ShutdownDetector : public base::PlatformThread::Delegate {
bool ChromeRenderProcessObserver::is_incognito_process_ = false;
-ChromeRenderProcessObserver::ChromeRenderProcessObserver() {
+ChromeRenderProcessObserver::ChromeRenderProcessObserver(
+ chrome::ChromeContentRendererClient* client)
+ : client_(client) {
const CommandLine& command_line = *CommandLine::ForCurrentProcess();
if (command_line.HasSwitch(switches::kEnableWatchdog)) {
// TODO(JAR): Need to implement renderer IO msgloop watchdog.
@@ -502,4 +505,7 @@ void ChromeRenderProcessObserver::OnPurgeMemory() {
// Tell tcmalloc to release any free pages it's still holding.
MallocExtension::instance()->ReleaseFreeMemory();
#endif
+
+ if (client_)
+ client_->OnPurgeMemory();
}