OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/debug/crash_logging.h" | 8 #include "base/debug/crash_logging.h" |
9 #include "base/logging.h" | 9 #include "base/logging.h" |
10 #include "base/metrics/field_trial.h" | 10 #include "base/metrics/field_trial.h" |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
54 #include "chrome/renderer/searchbox/searchbox.h" | 54 #include "chrome/renderer/searchbox/searchbox.h" |
55 #include "chrome/renderer/searchbox/searchbox_extension.h" | 55 #include "chrome/renderer/searchbox/searchbox_extension.h" |
56 #include "chrome/renderer/tts_dispatcher.h" | 56 #include "chrome/renderer/tts_dispatcher.h" |
57 #include "chrome/renderer/worker_content_settings_client_proxy.h" | 57 #include "chrome/renderer/worker_content_settings_client_proxy.h" |
58 #include "components/autofill/content/renderer/autofill_agent.h" | 58 #include "components/autofill/content/renderer/autofill_agent.h" |
59 #include "components/autofill/content/renderer/password_autofill_agent.h" | 59 #include "components/autofill/content/renderer/password_autofill_agent.h" |
60 #include "components/autofill/content/renderer/password_generation_agent.h" | 60 #include "components/autofill/content/renderer/password_generation_agent.h" |
61 #include "components/content_settings/core/common/content_settings_pattern.h" | 61 #include "components/content_settings/core/common/content_settings_pattern.h" |
62 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade
rs.h" | 62 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade
rs.h" |
63 #include "components/dom_distiller/core/url_constants.h" | 63 #include "components/dom_distiller/core/url_constants.h" |
64 #include "components/guest_view/renderer/guest_view_container.h" | |
65 #include "components/nacl/renderer/ppb_nacl_private.h" | 64 #include "components/nacl/renderer/ppb_nacl_private.h" |
66 #include "components/nacl/renderer/ppb_nacl_private_impl.h" | 65 #include "components/nacl/renderer/ppb_nacl_private_impl.h" |
67 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" | 66 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" |
68 #include "components/password_manager/content/renderer/credential_manager_client
.h" | 67 #include "components/password_manager/content/renderer/credential_manager_client
.h" |
69 #include "components/pdf/renderer/pepper_pdf_host.h" | 68 #include "components/pdf/renderer/pepper_pdf_host.h" |
70 #include "components/plugins/renderer/mobile_youtube_plugin.h" | 69 #include "components/plugins/renderer/mobile_youtube_plugin.h" |
71 #include "components/signin/core/common/profile_management_switches.h" | 70 #include "components/signin/core/common/profile_management_switches.h" |
72 #include "components/visitedlink/renderer/visitedlink_slave.h" | 71 #include "components/visitedlink/renderer/visitedlink_slave.h" |
73 #include "components/web_cache/renderer/web_cache_render_process_observer.h" | 72 #include "components/web_cache/renderer/web_cache_render_process_observer.h" |
74 #include "content/public/common/content_constants.h" | 73 #include "content/public/common/content_constants.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 #include "chrome/renderer/media/cast_ipc_dispatcher.h" | 116 #include "chrome/renderer/media/cast_ipc_dispatcher.h" |
118 #include "extensions/common/extension.h" | 117 #include "extensions/common/extension.h" |
119 #include "extensions/common/extension_set.h" | 118 #include "extensions/common/extension_set.h" |
120 #include "extensions/common/extension_urls.h" | 119 #include "extensions/common/extension_urls.h" |
121 #include "extensions/common/switches.h" | 120 #include "extensions/common/switches.h" |
122 #include "extensions/renderer/dispatcher.h" | 121 #include "extensions/renderer/dispatcher.h" |
123 #include "extensions/renderer/extension_frame_helper.h" | 122 #include "extensions/renderer/extension_frame_helper.h" |
124 #include "extensions/renderer/extension_helper.h" | 123 #include "extensions/renderer/extension_helper.h" |
125 #include "extensions/renderer/extensions_render_frame_observer.h" | 124 #include "extensions/renderer/extensions_render_frame_observer.h" |
126 #include "extensions/renderer/guest_view/extensions_guest_view_container.h" | 125 #include "extensions/renderer/guest_view/extensions_guest_view_container.h" |
| 126 #include "extensions/renderer/guest_view/extensions_guest_view_container_dispatc
her.h" |
127 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_con
tainer.h" | 127 #include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_con
tainer.h" |
128 #include "extensions/renderer/script_context.h" | 128 #include "extensions/renderer/script_context.h" |
129 #endif | 129 #endif |
130 | 130 |
131 #if defined(ENABLE_IPC_FUZZER) | 131 #if defined(ENABLE_IPC_FUZZER) |
132 #include "chrome/common/external_ipc_dumper.h" | 132 #include "chrome/common/external_ipc_dumper.h" |
133 #endif | 133 #endif |
134 | 134 |
135 #if defined(ENABLE_PRINTING) | 135 #if defined(ENABLE_PRINTING) |
136 #include "chrome/renderer/printing/chrome_print_web_view_helper_delegate.h" | 136 #include "chrome/renderer/printing/chrome_print_web_view_helper_delegate.h" |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
372 new ChromeExtensionsDispatcherDelegate()); | 372 new ChromeExtensionsDispatcherDelegate()); |
373 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and | 373 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and |
374 // injects it using SetExtensionDispatcher(). Don't overwrite it. | 374 // injects it using SetExtensionDispatcher(). Don't overwrite it. |
375 if (!extension_dispatcher_) { | 375 if (!extension_dispatcher_) { |
376 extension_dispatcher_.reset( | 376 extension_dispatcher_.reset( |
377 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); | 377 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); |
378 } | 378 } |
379 permissions_policy_delegate_.reset( | 379 permissions_policy_delegate_.reset( |
380 new extensions::RendererPermissionsPolicyDelegate( | 380 new extensions::RendererPermissionsPolicyDelegate( |
381 extension_dispatcher_.get())); | 381 extension_dispatcher_.get())); |
| 382 guest_view_container_dispatcher_.reset( |
| 383 new extensions::ExtensionsGuestViewContainerDispatcher()); |
382 #endif | 384 #endif |
383 | 385 |
384 prescient_networking_dispatcher_.reset( | 386 prescient_networking_dispatcher_.reset( |
385 new network_hints::PrescientNetworkingDispatcher()); | 387 new network_hints::PrescientNetworkingDispatcher()); |
386 #if defined(ENABLE_SPELLCHECK) | 388 #if defined(ENABLE_SPELLCHECK) |
387 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using | 389 // ChromeRenderViewTest::SetUp() creates a Spellcheck and injects it using |
388 // SetSpellcheck(). Don't overwrite it. | 390 // SetSpellcheck(). Don't overwrite it. |
389 if (!spellcheck_) { | 391 if (!spellcheck_) { |
390 spellcheck_.reset(new SpellCheck()); | 392 spellcheck_.reset(new SpellCheck()); |
391 thread->AddObserver(spellcheck_.get()); | 393 thread->AddObserver(spellcheck_.get()); |
392 } | 394 } |
393 #endif | 395 #endif |
394 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave()); | 396 visited_link_slave_.reset(new visitedlink::VisitedLinkSlave()); |
395 #if defined(FULL_SAFE_BROWSING) | 397 #if defined(FULL_SAFE_BROWSING) |
396 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); | 398 phishing_classifier_.reset(safe_browsing::PhishingClassifierFilter::Create()); |
397 #endif | 399 #endif |
398 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); | 400 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); |
399 #if defined(ENABLE_WEBRTC) | 401 #if defined(ENABLE_WEBRTC) |
400 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter( | 402 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter( |
401 RenderThread::Get()->GetIOMessageLoopProxy()); | 403 RenderThread::Get()->GetIOMessageLoopProxy()); |
402 #endif | 404 #endif |
403 search_bouncer_.reset(new SearchBouncer()); | 405 search_bouncer_.reset(new SearchBouncer()); |
404 | 406 |
405 thread->AddObserver(chrome_observer_.get()); | 407 thread->AddObserver(chrome_observer_.get()); |
406 thread->AddObserver(web_cache_observer_.get()); | 408 thread->AddObserver(web_cache_observer_.get()); |
407 #if defined(ENABLE_EXTENSIONS) | 409 #if defined(ENABLE_EXTENSIONS) |
408 thread->AddObserver(extension_dispatcher_.get()); | 410 thread->AddObserver(extension_dispatcher_.get()); |
| 411 thread->AddObserver(guest_view_container_dispatcher_.get()); |
409 #endif | 412 #endif |
410 #if defined(FULL_SAFE_BROWSING) | 413 #if defined(FULL_SAFE_BROWSING) |
411 thread->AddObserver(phishing_classifier_.get()); | 414 thread->AddObserver(phishing_classifier_.get()); |
412 #endif | 415 #endif |
413 thread->AddObserver(visited_link_slave_.get()); | 416 thread->AddObserver(visited_link_slave_.get()); |
414 thread->AddObserver(prerender_dispatcher_.get()); | 417 thread->AddObserver(prerender_dispatcher_.get()); |
415 thread->AddObserver(search_bouncer_.get()); | 418 thread->AddObserver(search_bouncer_.get()); |
416 | 419 |
417 #if defined(ENABLE_WEBRTC) | 420 #if defined(ENABLE_WEBRTC) |
418 thread->AddFilter(webrtc_logging_message_filter_.get()); | 421 thread->AddFilter(webrtc_logging_message_filter_.get()); |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1305 // uninstalled. | 1308 // uninstalled. |
1306 if (frame->top()->document().url() == url) { | 1309 if (frame->top()->document().url() == url) { |
1307 if (is_extension_url != IsStandaloneExtensionProcess()) | 1310 if (is_extension_url != IsStandaloneExtensionProcess()) |
1308 return true; | 1311 return true; |
1309 } | 1312 } |
1310 #endif // defined(ENABLE_EXTENSIONS) | 1313 #endif // defined(ENABLE_EXTENSIONS) |
1311 | 1314 |
1312 return false; | 1315 return false; |
1313 } | 1316 } |
1314 | 1317 |
1315 bool ChromeContentRendererClient::ShouldForwardToGuestContainer( | |
1316 const IPC::Message& msg) { | |
1317 if (IPC_MESSAGE_CLASS(msg) == GuestViewMsgStart) | |
1318 return true; | |
1319 #if defined(ENABLE_EXTENSIONS) | |
1320 return IPC_MESSAGE_CLASS(msg) == ExtensionsGuestViewMsgStart; | |
1321 #else | |
1322 return false; | |
1323 #endif | |
1324 } | |
1325 | |
1326 bool ChromeContentRendererClient::WillSendRequest( | 1318 bool ChromeContentRendererClient::WillSendRequest( |
1327 blink::WebFrame* frame, | 1319 blink::WebFrame* frame, |
1328 ui::PageTransition transition_type, | 1320 ui::PageTransition transition_type, |
1329 const GURL& url, | 1321 const GURL& url, |
1330 const GURL& first_party_for_cookies, | 1322 const GURL& first_party_for_cookies, |
1331 GURL* new_url) { | 1323 GURL* new_url) { |
1332 // Check whether the request should be allowed. If not allowed, we reset the | 1324 // Check whether the request should be allowed. If not allowed, we reset the |
1333 // URL to something invalid to prevent the request and cause an error. | 1325 // URL to something invalid to prevent the request and cause an error. |
1334 #if defined(ENABLE_EXTENSIONS) | 1326 #if defined(ENABLE_EXTENSIONS) |
1335 if (url.SchemeIs(extensions::kExtensionScheme) && | 1327 if (url.SchemeIs(extensions::kExtensionScheme) && |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1653 WebString header_key(ASCIIToUTF16( | 1645 WebString header_key(ASCIIToUTF16( |
1654 data_reduction_proxy::chrome_proxy_header())); | 1646 data_reduction_proxy::chrome_proxy_header())); |
1655 if (!response.httpHeaderField(header_key).isNull() && | 1647 if (!response.httpHeaderField(header_key).isNull() && |
1656 response.httpHeaderField(header_key).utf8().find( | 1648 response.httpHeaderField(header_key).utf8().find( |
1657 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != | 1649 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != |
1658 std::string::npos) { | 1650 std::string::npos) { |
1659 (*properties)[data_reduction_proxy::chrome_proxy_header()] = | 1651 (*properties)[data_reduction_proxy::chrome_proxy_header()] = |
1660 data_reduction_proxy::chrome_proxy_lo_fi_directive(); | 1652 data_reduction_proxy::chrome_proxy_lo_fi_directive(); |
1661 } | 1653 } |
1662 } | 1654 } |
OLD | NEW |