OLD | NEW |
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 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 | 145 |
146 ChromeContentRendererClient::ChromeContentRendererClient() { | 146 ChromeContentRendererClient::ChromeContentRendererClient() { |
147 chrome::InitializePPAPI(); | 147 chrome::InitializePPAPI(); |
148 } | 148 } |
149 | 149 |
150 ChromeContentRendererClient::~ChromeContentRendererClient() { | 150 ChromeContentRendererClient::~ChromeContentRendererClient() { |
151 chrome::UninitializePPAPI(); | 151 chrome::UninitializePPAPI(); |
152 } | 152 } |
153 | 153 |
154 void ChromeContentRendererClient::RenderThreadStarted() { | 154 void ChromeContentRendererClient::RenderThreadStarted() { |
155 chrome_observer_.reset(new ChromeRenderProcessObserver()); | 155 chrome_observer_.reset(new ChromeRenderProcessObserver(this)); |
156 extension_dispatcher_.reset(new ExtensionDispatcher()); | 156 extension_dispatcher_.reset(new ExtensionDispatcher()); |
157 histogram_snapshots_.reset(new RendererHistogramSnapshots()); | 157 histogram_snapshots_.reset(new RendererHistogramSnapshots()); |
158 net_predictor_.reset(new RendererNetPredictor()); | 158 net_predictor_.reset(new RendererNetPredictor()); |
159 spellcheck_.reset(new SpellCheck()); | 159 spellcheck_.reset(new SpellCheck()); |
160 visited_link_slave_.reset(new VisitedLinkSlave()); | 160 visited_link_slave_.reset(new VisitedLinkSlave()); |
161 #if defined(ENABLE_SAFE_BROWSING) | 161 #if defined(ENABLE_SAFE_BROWSING) |
162 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); | 162 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); |
163 #endif | 163 #endif |
164 | 164 |
165 RenderThread* thread = RenderThread::current(); | 165 RenderThread* thread = RenderThread::current(); |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); | 208 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); |
209 } | 209 } |
210 | 210 |
211 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { | 211 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { |
212 ContentSettingsObserver* content_settings = | 212 ContentSettingsObserver* content_settings = |
213 new ContentSettingsObserver(render_view); | 213 new ContentSettingsObserver(render_view); |
214 new ExtensionHelper(render_view, extension_dispatcher_.get()); | 214 new ExtensionHelper(render_view, extension_dispatcher_.get()); |
215 new PageLoadHistograms(render_view, histogram_snapshots_.get()); | 215 new PageLoadHistograms(render_view, histogram_snapshots_.get()); |
216 new PrintWebViewHelper(render_view); | 216 new PrintWebViewHelper(render_view); |
217 new SearchBox(render_view); | 217 new SearchBox(render_view); |
218 new SpellCheckProvider(render_view, spellcheck_.get()); | 218 spellcheck_provider_ = new SpellCheckProvider(render_view, spellcheck_.get()); |
219 #if defined(ENABLE_SAFE_BROWSING) | 219 #if defined(ENABLE_SAFE_BROWSING) |
220 safe_browsing::MalwareDOMDetails::Create(render_view); | 220 safe_browsing::MalwareDOMDetails::Create(render_view); |
221 #endif | 221 #endif |
222 | 222 |
223 #if defined(OS_MACOSX) | 223 #if defined(OS_MACOSX) |
224 new TextInputClientObserver(render_view); | 224 new TextInputClientObserver(render_view); |
225 #endif // defined(OS_MACOSX) | 225 #endif // defined(OS_MACOSX) |
226 | 226 |
227 PasswordAutofillManager* password_autofill_manager = | 227 PasswordAutofillManager* password_autofill_manager = |
228 new PasswordAutofillManager(render_view); | 228 new PasswordAutofillManager(render_view); |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
685 // uninstalled. | 685 // uninstalled. |
686 if (old_url == new_url) { | 686 if (old_url == new_url) { |
687 bool is_extension_url = !!extensions->GetByURL(new_url); | 687 bool is_extension_url = !!extensions->GetByURL(new_url); |
688 if (is_extension_url != extension_dispatcher_->is_extension_process()) | 688 if (is_extension_url != extension_dispatcher_->is_extension_process()) |
689 return true; | 689 return true; |
690 } | 690 } |
691 | 691 |
692 return !extensions->InSameExtent(old_url, new_url); | 692 return !extensions->InSameExtent(old_url, new_url); |
693 } | 693 } |
694 | 694 |
| 695 void ChromeContentRendererClient::OnPurgeMemory() { |
| 696 DVLOG(1) << "Resetting spellcheck in renderer client"; |
| 697 RenderThread* thread = RenderThread::current(); |
| 698 if (spellcheck_.get()) |
| 699 thread->RemoveObserver(spellcheck_.get()); |
| 700 SpellCheck* new_spellcheck = new SpellCheck(); |
| 701 if (spellcheck_provider_) |
| 702 spellcheck_provider_->SetSpellCheck(new_spellcheck); |
| 703 spellcheck_.reset(new_spellcheck); |
| 704 thread->AddObserver(new_spellcheck); |
| 705 } |
| 706 |
695 } // namespace chrome | 707 } // namespace chrome |
OLD | NEW |