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 127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
138 chrome::UninitializePPAPI(); | 138 chrome::UninitializePPAPI(); |
139 } | 139 } |
140 | 140 |
141 void ChromeContentRendererClient::RenderThreadStarted() { | 141 void ChromeContentRendererClient::RenderThreadStarted() { |
142 chrome_observer_.reset(new ChromeRenderProcessObserver()); | 142 chrome_observer_.reset(new ChromeRenderProcessObserver()); |
143 extension_dispatcher_.reset(new ExtensionDispatcher()); | 143 extension_dispatcher_.reset(new ExtensionDispatcher()); |
144 histogram_snapshots_.reset(new RendererHistogramSnapshots()); | 144 histogram_snapshots_.reset(new RendererHistogramSnapshots()); |
145 net_predictor_.reset(new RendererNetPredictor()); | 145 net_predictor_.reset(new RendererNetPredictor()); |
146 spellcheck_.reset(new SpellCheck()); | 146 spellcheck_.reset(new SpellCheck()); |
147 visited_link_slave_.reset(new VisitedLinkSlave()); | 147 visited_link_slave_.reset(new VisitedLinkSlave()); |
148 #if defined(ENABLE_SAFE_BROWSING) | |
mattm
2011/07/12 21:41:58
Looks like some merges got squashed
Miranda Callahan
2011/07/13 18:13:51
Wow, did they ever. :-/ Fixed.
| |
149 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); | 148 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); |
150 #endif | |
151 | 149 |
152 RenderThread* thread = RenderThread::current(); | 150 RenderThread* thread = RenderThread::current(); |
153 thread->AddFilter(new DevToolsAgentFilter()); | 151 thread->AddFilter(new DevToolsAgentFilter()); |
154 | 152 |
155 thread->AddObserver(chrome_observer_.get()); | 153 thread->AddObserver(chrome_observer_.get()); |
156 thread->AddObserver(extension_dispatcher_.get()); | 154 thread->AddObserver(extension_dispatcher_.get()); |
157 thread->AddObserver(histogram_snapshots_.get()); | 155 thread->AddObserver(histogram_snapshots_.get()); |
158 #if defined(ENABLE_SAFE_BROWSING) | |
159 thread->AddObserver(phishing_classifier_.get()); | 156 thread->AddObserver(phishing_classifier_.get()); |
160 #endif | |
161 thread->AddObserver(spellcheck_.get()); | 157 thread->AddObserver(spellcheck_.get()); |
162 thread->AddObserver(visited_link_slave_.get()); | 158 thread->AddObserver(visited_link_slave_.get()); |
163 | 159 |
164 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); | 160 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); |
165 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); | 161 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); |
166 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); | 162 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); |
167 v8::Extension* search_extension = extensions_v8::SearchExtension::Get(); | 163 v8::Extension* search_extension = extensions_v8::SearchExtension::Get(); |
168 // search_extension is null if not enabled. | 164 // search_extension is null if not enabled. |
169 if (search_extension) | 165 if (search_extension) |
170 thread->RegisterExtension(search_extension); | 166 thread->RegisterExtension(search_extension); |
(...skipping 19 matching lines...) Expand all Loading... | |
190 | 186 |
191 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme)); | 187 WebString internal_scheme(ASCIIToUTF16(chrome::kChromeInternalScheme)); |
192 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme); | 188 WebSecurityPolicy::registerURLSchemeAsDisplayIsolated(internal_scheme); |
193 | 189 |
194 // chrome-extension: resources shouldn't trigger insecure content warnings. | 190 // chrome-extension: resources shouldn't trigger insecure content warnings. |
195 WebString extension_scheme(ASCIIToUTF16(chrome::kExtensionScheme)); | 191 WebString extension_scheme(ASCIIToUTF16(chrome::kExtensionScheme)); |
196 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); | 192 WebSecurityPolicy::registerURLSchemeAsSecure(extension_scheme); |
197 } | 193 } |
198 | 194 |
199 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { | 195 void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { |
200 safe_browsing::PhishingClassifierDelegate* phishing_classifier = NULL; | |
201 #if defined(ENABLE_SAFE_BROWSING) && !defined(OS_CHROMEOS) | |
202 if (!CommandLine::ForCurrentProcess()->HasSwitch( | |
203 switches::kDisableClientSidePhishingDetection)) { | |
204 phishing_classifier = | |
205 safe_browsing::PhishingClassifierDelegate::Create(render_view, NULL); | |
206 } | |
207 #endif | |
208 | |
209 ContentSettingsObserver* content_settings = | 196 ContentSettingsObserver* content_settings = |
210 new ContentSettingsObserver(render_view); | 197 new ContentSettingsObserver(render_view); |
211 new DevToolsAgent(render_view); | 198 new DevToolsAgent(render_view); |
212 new ExtensionHelper(render_view, extension_dispatcher_.get()); | 199 new ExtensionHelper(render_view, extension_dispatcher_.get()); |
213 new MHTMLGenerator(render_view); | 200 new MHTMLGenerator(render_view); |
214 new PageLoadHistograms(render_view, histogram_snapshots_.get()); | 201 new PageLoadHistograms(render_view, histogram_snapshots_.get()); |
215 new PrintWebViewHelper(render_view); | 202 new PrintWebViewHelper(render_view); |
216 new SearchBox(render_view); | 203 new SearchBox(render_view); |
217 new SpellCheckProvider(render_view, spellcheck_.get()); | 204 new SpellCheckProvider(render_view, spellcheck_.get()); |
218 #if defined(ENABLE_SAFE_BROWSING) | |
219 safe_browsing::MalwareDOMDetails::Create(render_view); | 205 safe_browsing::MalwareDOMDetails::Create(render_view); |
220 #endif | |
221 | 206 |
222 #if defined(OS_MACOSX) | 207 #if defined(OS_MACOSX) |
223 new TextInputClientObserver(render_view); | 208 new TextInputClientObserver(render_view); |
224 #endif // defined(OS_MACOSX) | 209 #endif // defined(OS_MACOSX) |
225 | 210 |
226 PasswordAutofillManager* password_autofill_manager = | 211 PasswordAutofillManager* password_autofill_manager = |
227 new PasswordAutofillManager(render_view); | 212 new PasswordAutofillManager(render_view); |
228 AutofillAgent* autofill_agent = new AutofillAgent(render_view, | 213 AutofillAgent* autofill_agent = new AutofillAgent(render_view, |
229 password_autofill_manager); | 214 password_autofill_manager); |
230 PageClickTracker* page_click_tracker = new PageClickTracker(render_view); | 215 PageClickTracker* page_click_tracker = new PageClickTracker(render_view); |
231 // Note that the order of insertion of the listeners is important. | 216 // Note that the order of insertion of the listeners is important. |
232 // The password_autocomplete_manager takes the first shot at processing the | 217 // The password_autocomplete_manager takes the first shot at processing the |
233 // notification and can stop the propagation. | 218 // notification and can stop the propagation. |
234 page_click_tracker->AddListener(password_autofill_manager); | 219 page_click_tracker->AddListener(password_autofill_manager); |
235 page_click_tracker->AddListener(autofill_agent); | 220 page_click_tracker->AddListener(autofill_agent); |
236 | 221 |
237 TranslateHelper* translate = new TranslateHelper(render_view, autofill_agent); | 222 TranslateHelper* translate = new TranslateHelper(render_view, autofill_agent); |
238 new ChromeRenderViewObserver( | 223 new ChromeRenderViewObserver( |
239 render_view, content_settings, extension_dispatcher_.get(), | 224 render_view, content_settings, extension_dispatcher_.get(), translate); |
240 translate, phishing_classifier); | |
241 | 225 |
242 // Used only for testing/automation. | 226 // Used only for testing/automation. |
243 if (CommandLine::ForCurrentProcess()->HasSwitch( | 227 if (CommandLine::ForCurrentProcess()->HasSwitch( |
244 switches::kDomAutomationController)) { | 228 switches::kDomAutomationController)) { |
245 new AutomationRendererHelper(render_view); | 229 new AutomationRendererHelper(render_view); |
246 } | 230 } |
247 } | 231 } |
248 | 232 |
249 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { | 233 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { |
250 child_process_logging::SetNumberOfViews(number_of_views); | 234 child_process_logging::SetNumberOfViews(number_of_views); |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
593 if (old_url == new_url) { | 577 if (old_url == new_url) { |
594 bool is_extension_url = !!extensions->GetByURL(new_url); | 578 bool is_extension_url = !!extensions->GetByURL(new_url); |
595 if (is_extension_url != extension_dispatcher_->is_extension_process()) | 579 if (is_extension_url != extension_dispatcher_->is_extension_process()) |
596 return true; | 580 return true; |
597 } | 581 } |
598 | 582 |
599 return !extensions->InSameExtent(old_url, new_url); | 583 return !extensions->InSameExtent(old_url, new_url); |
600 } | 584 } |
601 | 585 |
602 } // namespace chrome | 586 } // namespace chrome |
OLD | NEW |