| 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 825c45e319cbe1fbf050027a985b9c3ec25049ea..682e351fedef22626604d75985d21969e61bfe10 100644
|
| --- a/chrome/renderer/chrome_content_renderer_client.cc
|
| +++ b/chrome/renderer/chrome_content_renderer_client.cc
|
| @@ -979,15 +979,20 @@ 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());
|
| +}
|
| +
|
| +void ChromeContentRendererClient::OnPurgeMemory() {
|
| + DVLOG(1) << "Resetting spellcheck in renderer client";
|
| + SetSpellcheck(new SpellCheck());
|
| }
|
|
|
| bool ChromeContentRendererClient::IsAdblockInstalled() {
|
|
|