Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(210)

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 7222023: Forward handling of low-mem message to the content renderer client. Add APIs to handle this case. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Get rid of notification. Forward call from RPO to client. Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/message_loop.h" 10 #include "base/message_loop.h"
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
142 142
143 ChromeContentRendererClient::ChromeContentRendererClient() { 143 ChromeContentRendererClient::ChromeContentRendererClient() {
144 chrome::InitializePPAPI(); 144 chrome::InitializePPAPI();
145 } 145 }
146 146
147 ChromeContentRendererClient::~ChromeContentRendererClient() { 147 ChromeContentRendererClient::~ChromeContentRendererClient() {
148 chrome::UninitializePPAPI(); 148 chrome::UninitializePPAPI();
149 } 149 }
150 150
151 void ChromeContentRendererClient::RenderThreadStarted() { 151 void ChromeContentRendererClient::RenderThreadStarted() {
152 chrome_observer_.reset(new ChromeRenderProcessObserver()); 152 chrome_observer_.reset(new ChromeRenderProcessObserver(this));
153 extension_dispatcher_.reset(new ExtensionDispatcher()); 153 extension_dispatcher_.reset(new ExtensionDispatcher());
154 histogram_snapshots_.reset(new RendererHistogramSnapshots()); 154 histogram_snapshots_.reset(new RendererHistogramSnapshots());
155 net_predictor_.reset(new RendererNetPredictor()); 155 net_predictor_.reset(new RendererNetPredictor());
156 spellcheck_.reset(new SpellCheck()); 156 spellcheck_.reset(new SpellCheck());
157 visited_link_slave_.reset(new VisitedLinkSlave()); 157 visited_link_slave_.reset(new VisitedLinkSlave());
158 #if defined(ENABLE_SAFE_BROWSING) 158 #if defined(ENABLE_SAFE_BROWSING)
159 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); 159 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create());
160 #endif 160 #endif
161 161
162 RenderThread* thread = RenderThread::current(); 162 RenderThread* thread = RenderThread::current();
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 } 207 }
208 208
209 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { 209 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) {
210 ContentSettingsObserver* content_settings = 210 ContentSettingsObserver* content_settings =
211 new ContentSettingsObserver(render_view); 211 new ContentSettingsObserver(render_view);
212 new DevToolsAgent(render_view); 212 new DevToolsAgent(render_view);
213 new ExtensionHelper(render_view, extension_dispatcher_.get()); 213 new ExtensionHelper(render_view, extension_dispatcher_.get());
214 new PageLoadHistograms(render_view, histogram_snapshots_.get()); 214 new PageLoadHistograms(render_view, histogram_snapshots_.get());
215 new PrintWebViewHelper(render_view); 215 new PrintWebViewHelper(render_view);
216 new SearchBox(render_view); 216 new SearchBox(render_view);
217 new SpellCheckProvider(render_view, spellcheck_.get()); 217 spellcheck_provider_.reset(new SpellCheckProvider(render_view,
218 spellcheck_.get()));
218 #if defined(ENABLE_SAFE_BROWSING) 219 #if defined(ENABLE_SAFE_BROWSING)
219 safe_browsing::MalwareDOMDetails::Create(render_view); 220 safe_browsing::MalwareDOMDetails::Create(render_view);
220 #endif 221 #endif
221 222
222 #if defined(OS_MACOSX) 223 #if defined(OS_MACOSX)
223 new TextInputClientObserver(render_view); 224 new TextInputClientObserver(render_view);
224 #endif // defined(OS_MACOSX) 225 #endif // defined(OS_MACOSX)
225 226
226 PasswordAutofillManager* password_autofill_manager = 227 PasswordAutofillManager* password_autofill_manager =
227 new PasswordAutofillManager(render_view); 228 new PasswordAutofillManager(render_view);
(...skipping 389 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 // uninstalled. 618 // uninstalled.
618 if (old_url == new_url) { 619 if (old_url == new_url) {
619 bool is_extension_url = !!extensions->GetByURL(new_url); 620 bool is_extension_url = !!extensions->GetByURL(new_url);
620 if (is_extension_url != extension_dispatcher_->is_extension_process()) 621 if (is_extension_url != extension_dispatcher_->is_extension_process())
621 return true; 622 return true;
622 } 623 }
623 624
624 return !extensions->InSameExtent(old_url, new_url); 625 return !extensions->InSameExtent(old_url, new_url);
625 } 626 }
626 627
628 void ChromeContentRendererClient::OnPurgeMemory() {
629 ResetSpellCheck();
630 }
631
632 void ChromeContentRendererClient::ResetSpellCheck() {
633 LOG(INFO) << "Resetting spellcheck in renderer client";
jam 2011/07/22 16:31:50 nit: i believe people try to use VLOG now so that
Greg Billock 2011/07/22 17:02:07 Yeah, I'm going to strip out all this test code. A
634 RenderThread* thread = RenderThread::current();
635 if (spellcheck_.get())
636 thread->RemoveObserver(spellcheck_.get());
637 SpellCheck* new_spellcheck = new SpellCheck();
638 if (spellcheck_provider_.get())
639 spellcheck_provider_->SetSpellCheck(new_spellcheck);
640 spellcheck_.reset(new_spellcheck);
641 thread->AddObserver(new_spellcheck);
642 }
643
627 } // namespace chrome 644 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698