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 e21d588f33cd0f8090ec68468009834a69fb5643..d4f5a465ae7c6bb26bfd137189799e2023fc4993 100644 |
| --- a/chrome/renderer/chrome_content_renderer_client.cc |
| +++ b/chrome/renderer/chrome_content_renderer_client.cc |
| @@ -975,15 +975,21 @@ bool ChromeContentRendererClient::CrossesExtensionExtents( |
| should_consider_workaround); |
| } |
| -void ChromeContentRendererClient::OnPurgeMemory() { |
| - DVLOG(1) << "Resetting spellcheck in renderer client"; |
| +void ChromeContentRendererClient::SetSpellcheck(SpellCheck* spellcheck) { |
| RenderThread* thread = RenderThread::Get(); |
| - if (spellcheck_.get()) |
| + if (spellcheck_.get() && thread) |
| thread->RemoveObserver(spellcheck_.get()); |
| - spellcheck_.reset(new SpellCheck()); |
| + spellcheck_.reset(spellcheck); |
| SpellCheckReplacer replacer(spellcheck_.get()); |
| content::RenderView::ForEach(&replacer); |
| - thread->AddObserver(spellcheck_.get()); |
| + if (thread) |
| + thread->AddObserver(spellcheck_.get()); |
| +} |
| + |
|
sky
2012/11/12 03:51:37
nit: remove one line.
groby-ooo-7-16
2012/11/13 02:05:15
Done.
|
| + |
| +void ChromeContentRendererClient::OnPurgeMemory() { |
| + DVLOG(1) << "Resetting spellcheck in renderer client"; |
| + SetSpellcheck(new SpellCheck()); |
| } |
| bool ChromeContentRendererClient::IsAdblockInstalled() { |