OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/logging.h" | 11 #include "base/logging.h" |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
59 #include "chrome/renderer/playback_extension.h" | 59 #include "chrome/renderer/playback_extension.h" |
60 #include "chrome/renderer/plugins/plugin_placeholder.h" | 60 #include "chrome/renderer/plugins/plugin_placeholder.h" |
61 #include "chrome/renderer/plugins/plugin_uma.h" | 61 #include "chrome/renderer/plugins/plugin_uma.h" |
62 #include "chrome/renderer/prerender/prerender_dispatcher.h" | 62 #include "chrome/renderer/prerender/prerender_dispatcher.h" |
63 #include "chrome/renderer/prerender/prerender_helper.h" | 63 #include "chrome/renderer/prerender/prerender_helper.h" |
64 #include "chrome/renderer/prerender/prerender_webmediaplayer.h" | 64 #include "chrome/renderer/prerender/prerender_webmediaplayer.h" |
65 #include "chrome/renderer/prerender/prerenderer_client.h" | 65 #include "chrome/renderer/prerender/prerenderer_client.h" |
66 #include "chrome/renderer/printing/print_web_view_helper.h" | 66 #include "chrome/renderer/printing/print_web_view_helper.h" |
67 #include "chrome/renderer/safe_browsing/malware_dom_details.h" | 67 #include "chrome/renderer/safe_browsing/malware_dom_details.h" |
68 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" | 68 #include "chrome/renderer/safe_browsing/phishing_classifier_delegate.h" |
| 69 #include "chrome/renderer/searchbox/embedded_searchbox.h" |
| 70 #include "chrome/renderer/searchbox/embedded_searchbox_extension.h" |
69 #include "chrome/renderer/searchbox/searchbox.h" | 71 #include "chrome/renderer/searchbox/searchbox.h" |
70 #include "chrome/renderer/searchbox/searchbox_extension.h" | 72 #include "chrome/renderer/searchbox/searchbox_extension.h" |
71 #include "chrome/renderer/spellchecker/spellcheck.h" | 73 #include "chrome/renderer/spellchecker/spellcheck.h" |
72 #include "chrome/renderer/spellchecker/spellcheck_provider.h" | 74 #include "chrome/renderer/spellchecker/spellcheck_provider.h" |
73 #include "components/visitedlink/renderer/visitedlink_slave.h" | 75 #include "components/visitedlink/renderer/visitedlink_slave.h" |
74 #include "content/public/common/content_constants.h" | 76 #include "content/public/common/content_constants.h" |
75 #include "content/public/renderer/render_thread.h" | 77 #include "content/public/renderer/render_thread.h" |
76 #include "content/public/renderer/render_view.h" | 78 #include "content/public/renderer/render_view.h" |
77 #include "content/public/renderer/render_view_visitor.h" | 79 #include "content/public/renderer/render_view_visitor.h" |
78 #include "extensions/common/constants.h" | 80 #include "extensions/common/constants.h" |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
215 thread->AddObserver(extension_dispatcher_.get()); | 217 thread->AddObserver(extension_dispatcher_.get()); |
216 #if defined(FULL_SAFE_BROWSING) | 218 #if defined(FULL_SAFE_BROWSING) |
217 thread->AddObserver(phishing_classifier_.get()); | 219 thread->AddObserver(phishing_classifier_.get()); |
218 #endif | 220 #endif |
219 thread->AddObserver(spellcheck_.get()); | 221 thread->AddObserver(spellcheck_.get()); |
220 thread->AddObserver(visited_link_slave_.get()); | 222 thread->AddObserver(visited_link_slave_.get()); |
221 thread->AddObserver(prerender_dispatcher_.get()); | 223 thread->AddObserver(prerender_dispatcher_.get()); |
222 | 224 |
223 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); | 225 thread->RegisterExtension(extensions_v8::ExternalExtension::Get()); |
224 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); | 226 thread->RegisterExtension(extensions_v8::LoadTimesExtension::Get()); |
225 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); | |
226 | 227 |
227 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 228 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 229 |
| 230 if (command_line->HasSwitch(switches::kInstantProcess)) { |
| 231 if (command_line->HasSwitch(switches::kEnableInstantExtendedAPI)) { |
| 232 thread->RegisterExtension( |
| 233 extensions_v8::EmbeddedSearchBoxExtension::Get()); |
| 234 } else { |
| 235 thread->RegisterExtension(extensions_v8::SearchBoxExtension::Get()); |
| 236 } |
| 237 } |
| 238 |
228 if (command_line->HasSwitch(switches::kEnableBenchmarking)) | 239 if (command_line->HasSwitch(switches::kEnableBenchmarking)) |
229 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); | 240 thread->RegisterExtension(extensions_v8::BenchmarkingExtension::Get()); |
230 if (command_line->HasSwitch(switches::kEnableNetBenchmarking)) | 241 if (command_line->HasSwitch(switches::kEnableNetBenchmarking)) |
231 thread->RegisterExtension(extensions_v8::NetBenchmarkingExtension::Get()); | 242 thread->RegisterExtension(extensions_v8::NetBenchmarkingExtension::Get()); |
232 | 243 |
233 if (command_line->HasSwitch(switches::kPlaybackMode) || | 244 if (command_line->HasSwitch(switches::kPlaybackMode) || |
234 command_line->HasSwitch(switches::kRecordMode) || | 245 command_line->HasSwitch(switches::kRecordMode) || |
235 command_line->HasSwitch(switches::kNoJsRandomness)) { | 246 command_line->HasSwitch(switches::kNoJsRandomness)) { |
236 thread->RegisterExtension(extensions_v8::PlaybackExtension::Get()); | 247 thread->RegisterExtension(extensions_v8::PlaybackExtension::Get()); |
237 } | 248 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
302 new ContentSettingsObserver(render_view); | 313 new ContentSettingsObserver(render_view); |
303 if (chrome_observer_.get()) { | 314 if (chrome_observer_.get()) { |
304 content_settings->SetContentSettingRules( | 315 content_settings->SetContentSettingRules( |
305 chrome_observer_->content_setting_rules()); | 316 chrome_observer_->content_setting_rules()); |
306 } | 317 } |
307 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); | 318 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); |
308 new PageLoadHistograms(render_view); | 319 new PageLoadHistograms(render_view); |
309 #if defined(ENABLE_PRINTING) | 320 #if defined(ENABLE_PRINTING) |
310 new printing::PrintWebViewHelper(render_view); | 321 new printing::PrintWebViewHelper(render_view); |
311 #endif | 322 #endif |
312 new SearchBox(render_view); | 323 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
| 324 if (command_line->HasSwitch(switches::kInstantProcess)) { |
| 325 if (command_line->HasSwitch(switches::kEnableInstantExtendedAPI)) |
| 326 new EmbeddedSearchBox(render_view); |
| 327 else |
| 328 new SearchBox(render_view); |
| 329 } |
313 new SpellCheckProvider(render_view, spellcheck_.get()); | 330 new SpellCheckProvider(render_view, spellcheck_.get()); |
314 new prerender::PrerendererClient(render_view); | 331 new prerender::PrerendererClient(render_view); |
315 #if defined(FULL_SAFE_BROWSING) | 332 #if defined(FULL_SAFE_BROWSING) |
316 safe_browsing::MalwareDOMDetails::Create(render_view); | 333 safe_browsing::MalwareDOMDetails::Create(render_view); |
317 #endif | 334 #endif |
318 | 335 |
319 PasswordAutofillManager* password_autofill_manager = | 336 PasswordAutofillManager* password_autofill_manager = |
320 new PasswordAutofillManager(render_view); | 337 new PasswordAutofillManager(render_view); |
321 AutofillAgent* autofill_agent = new AutofillAgent(render_view, | 338 AutofillAgent* autofill_agent = new AutofillAgent(render_view, |
322 password_autofill_manager); | 339 password_autofill_manager); |
323 if (CommandLine::ForCurrentProcess()->HasSwitch( | 340 if (command_line->HasSwitch(switches::kEnablePasswordGeneration)) |
324 switches::kEnablePasswordGeneration)) { | |
325 new PasswordGenerationManager(render_view); | 341 new PasswordGenerationManager(render_view); |
326 } | |
327 PageClickTracker* page_click_tracker = new PageClickTracker(render_view); | 342 PageClickTracker* page_click_tracker = new PageClickTracker(render_view); |
328 // Note that the order of insertion of the listeners is important. | 343 // Note that the order of insertion of the listeners is important. |
329 // The password_autocomplete_manager takes the first shot at processing the | 344 // The password_autocomplete_manager takes the first shot at processing the |
330 // notification and can stop the propagation. | 345 // notification and can stop the propagation. |
331 page_click_tracker->AddListener(password_autofill_manager); | 346 page_click_tracker->AddListener(password_autofill_manager); |
332 page_click_tracker->AddListener(autofill_agent); | 347 page_click_tracker->AddListener(autofill_agent); |
333 | 348 |
334 new ChromeRenderViewObserver( | 349 new ChromeRenderViewObserver( |
335 render_view, content_settings, chrome_observer_.get(), | 350 render_view, content_settings, chrome_observer_.get(), |
336 extension_dispatcher_.get()); | 351 extension_dispatcher_.get()); |
337 | 352 |
338 #if defined(ENABLE_PLUGINS) | 353 #if defined(ENABLE_PLUGINS) |
339 new PepperHelper(render_view); | 354 new PepperHelper(render_view); |
340 #endif | 355 #endif |
341 | 356 |
342 new NetErrorHelper(render_view); | 357 new NetErrorHelper(render_view); |
343 | 358 |
344 #if defined(ENABLE_AUTOMATION) | 359 #if defined(ENABLE_AUTOMATION) |
345 // Used only for testing/automation. | 360 // Used only for testing/automation. |
346 if (CommandLine::ForCurrentProcess()->HasSwitch( | 361 if (command_line->HasSwitch(switches::kDomAutomationController)) |
347 switches::kDomAutomationController)) { | |
348 new AutomationRendererHelper(render_view); | 362 new AutomationRendererHelper(render_view); |
349 } | |
350 #endif | 363 #endif |
351 | 364 |
352 #if defined(ENABLE_ONE_CLICK_SIGNIN) | 365 #if defined(ENABLE_ONE_CLICK_SIGNIN) |
353 new OneClickSigninAgent(render_view); | 366 new OneClickSigninAgent(render_view); |
354 #endif | 367 #endif |
355 } | 368 } |
356 | 369 |
357 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { | 370 void ChromeContentRendererClient::SetNumberOfViews(int number_of_views) { |
358 child_process_logging::SetNumberOfViews(number_of_views); | 371 child_process_logging::SetNumberOfViews(number_of_views); |
359 } | 372 } |
(...skipping 755 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1115 if (container->element().shadowHost().tagName().equals( | 1128 if (container->element().shadowHost().tagName().equals( |
1116 WebKit::WebString::fromUTF8(kWebViewTagName))) { | 1129 WebKit::WebString::fromUTF8(kWebViewTagName))) { |
1117 return true; | 1130 return true; |
1118 } else { | 1131 } else { |
1119 return CommandLine::ForCurrentProcess()->HasSwitch( | 1132 return CommandLine::ForCurrentProcess()->HasSwitch( |
1120 switches::kEnableBrowserPluginForAllViewTypes); | 1133 switches::kEnableBrowserPluginForAllViewTypes); |
1121 } | 1134 } |
1122 } | 1135 } |
1123 | 1136 |
1124 } // namespace chrome | 1137 } // namespace chrome |
OLD | NEW |