Chromium Code Reviews| Index: chrome/renderer/chrome_content_renderer_client.cc |
| diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc |
| index ee7db8e0a72e4b8a568906070be85010264247f5..6fa1133b5968d422027828b2df1b966548733bca 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -149,7 +149,7 @@ ChromeContentRendererClient::~ChromeContentRendererClient() { |
| } |
| void ChromeContentRendererClient::RenderThreadStarted() { |
| - chrome_observer_.reset(new ChromeRenderProcessObserver()); |
| + chrome_observer_.reset(new ChromeRenderProcessObserver(this)); |
| extension_dispatcher_.reset(new ExtensionDispatcher()); |
| histogram_snapshots_.reset(new RendererHistogramSnapshots()); |
| net_predictor_.reset(new RendererNetPredictor()); |
| @@ -214,7 +214,8 @@ void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { |
| new PageLoadHistograms(render_view, histogram_snapshots_.get()); |
| new PrintWebViewHelper(render_view); |
| new SearchBox(render_view); |
| - new SpellCheckProvider(render_view, spellcheck_.get()); |
| + spellcheck_provider_.reset(new SpellCheckProvider(render_view, |
| + spellcheck_.get())); |
| #if defined(ENABLE_SAFE_BROWSING) |
| safe_browsing::MalwareDOMDetails::Create(render_view); |
| #endif |
| @@ -624,4 +625,20 @@ bool ChromeContentRendererClient::CrossesExtensionExtents(WebFrame* frame, |
| return !extensions->InSameExtent(old_url, new_url); |
| } |
| +void ChromeContentRendererClient::OnPurgeMemory() { |
| + ResetSpellCheck(); |
| +} |
| + |
| +void ChromeContentRendererClient::ResetSpellCheck() { |
| + 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
|
| + RenderThread* thread = RenderThread::current(); |
| + if (spellcheck_.get()) |
| + thread->RemoveObserver(spellcheck_.get()); |
| + SpellCheck* new_spellcheck = new SpellCheck(); |
| + if (spellcheck_provider_.get()) |
| + spellcheck_provider_->SetSpellCheck(new_spellcheck); |
| + spellcheck_.reset(new_spellcheck); |
| + thread->AddObserver(new_spellcheck); |
| +} |
| + |
| } // namespace chrome |