| 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 11 matching lines...) Expand all Loading... |
| 22 #include "chrome/common/localized_error.h" | 22 #include "chrome/common/localized_error.h" |
| 23 #include "chrome/common/pepper_permission_util.h" | 23 #include "chrome/common/pepper_permission_util.h" |
| 24 #include "chrome/common/render_messages.h" | 24 #include "chrome/common/render_messages.h" |
| 25 #include "chrome/common/secure_origin_whitelist.h" | 25 #include "chrome/common/secure_origin_whitelist.h" |
| 26 #include "chrome/common/url_constants.h" | 26 #include "chrome/common/url_constants.h" |
| 27 #include "chrome/grit/generated_resources.h" | 27 #include "chrome/grit/generated_resources.h" |
| 28 #include "chrome/grit/locale_settings.h" | 28 #include "chrome/grit/locale_settings.h" |
| 29 #include "chrome/grit/renderer_resources.h" | 29 #include "chrome/grit/renderer_resources.h" |
| 30 #include "chrome/renderer/banners/app_banner_client.h" | 30 #include "chrome/renderer/banners/app_banner_client.h" |
| 31 #include "chrome/renderer/benchmarking_extension.h" | 31 #include "chrome/renderer/benchmarking_extension.h" |
| 32 #include "chrome/renderer/chrome_guest_view_container_observer.h" |
| 32 #include "chrome/renderer/chrome_render_frame_observer.h" | 33 #include "chrome/renderer/chrome_render_frame_observer.h" |
| 33 #include "chrome/renderer/chrome_render_process_observer.h" | 34 #include "chrome/renderer/chrome_render_process_observer.h" |
| 34 #include "chrome/renderer/chrome_render_view_observer.h" | 35 #include "chrome/renderer/chrome_render_view_observer.h" |
| 35 #include "chrome/renderer/content_settings_observer.h" | 36 #include "chrome/renderer/content_settings_observer.h" |
| 36 #include "chrome/renderer/external_extension.h" | 37 #include "chrome/renderer/external_extension.h" |
| 37 #include "chrome/renderer/loadtimes_extension_bindings.h" | 38 #include "chrome/renderer/loadtimes_extension_bindings.h" |
| 38 #include "chrome/renderer/media/chrome_key_systems.h" | 39 #include "chrome/renderer/media/chrome_key_systems.h" |
| 39 #include "chrome/renderer/net/net_error_helper.h" | 40 #include "chrome/renderer/net/net_error_helper.h" |
| 40 #include "chrome/renderer/net_benchmarking_extension.h" | 41 #include "chrome/renderer/net_benchmarking_extension.h" |
| 41 #include "chrome/renderer/page_load_histograms.h" | 42 #include "chrome/renderer/page_load_histograms.h" |
| (...skipping 12 matching lines...) Expand all Loading... |
| 54 #include "chrome/renderer/searchbox/searchbox.h" | 55 #include "chrome/renderer/searchbox/searchbox.h" |
| 55 #include "chrome/renderer/searchbox/searchbox_extension.h" | 56 #include "chrome/renderer/searchbox/searchbox_extension.h" |
| 56 #include "chrome/renderer/tts_dispatcher.h" | 57 #include "chrome/renderer/tts_dispatcher.h" |
| 57 #include "chrome/renderer/worker_content_settings_client_proxy.h" | 58 #include "chrome/renderer/worker_content_settings_client_proxy.h" |
| 58 #include "components/autofill/content/renderer/autofill_agent.h" | 59 #include "components/autofill/content/renderer/autofill_agent.h" |
| 59 #include "components/autofill/content/renderer/password_autofill_agent.h" | 60 #include "components/autofill/content/renderer/password_autofill_agent.h" |
| 60 #include "components/autofill/content/renderer/password_generation_agent.h" | 61 #include "components/autofill/content/renderer/password_generation_agent.h" |
| 61 #include "components/content_settings/core/common/content_settings_pattern.h" | 62 #include "components/content_settings/core/common/content_settings_pattern.h" |
| 62 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade
rs.h" | 63 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_heade
rs.h" |
| 63 #include "components/dom_distiller/core/url_constants.h" | 64 #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" | 65 #include "components/nacl/renderer/ppb_nacl_private.h" |
| 66 #include "components/nacl/renderer/ppb_nacl_private_impl.h" | 66 #include "components/nacl/renderer/ppb_nacl_private_impl.h" |
| 67 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" | 67 #include "components/network_hints/renderer/prescient_networking_dispatcher.h" |
| 68 #include "components/password_manager/content/renderer/credential_manager_client
.h" | 68 #include "components/password_manager/content/renderer/credential_manager_client
.h" |
| 69 #include "components/pdf/renderer/pepper_pdf_host.h" | 69 #include "components/pdf/renderer/pepper_pdf_host.h" |
| 70 #include "components/plugins/renderer/mobile_youtube_plugin.h" | 70 #include "components/plugins/renderer/mobile_youtube_plugin.h" |
| 71 #include "components/signin/core/common/profile_management_switches.h" | 71 #include "components/signin/core/common/profile_management_switches.h" |
| 72 #include "components/visitedlink/renderer/visitedlink_slave.h" | 72 #include "components/visitedlink/renderer/visitedlink_slave.h" |
| 73 #include "components/web_cache/renderer/web_cache_render_process_observer.h" | 73 #include "components/web_cache/renderer/web_cache_render_process_observer.h" |
| 74 #include "content/public/common/content_constants.h" | 74 #include "content/public/common/content_constants.h" |
| (...skipping 284 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 359 | 359 |
| 360 ChromeContentRendererClient::~ChromeContentRendererClient() { | 360 ChromeContentRendererClient::~ChromeContentRendererClient() { |
| 361 g_current_client = NULL; | 361 g_current_client = NULL; |
| 362 } | 362 } |
| 363 | 363 |
| 364 void ChromeContentRendererClient::RenderThreadStarted() { | 364 void ChromeContentRendererClient::RenderThreadStarted() { |
| 365 RenderThread* thread = RenderThread::Get(); | 365 RenderThread* thread = RenderThread::Get(); |
| 366 | 366 |
| 367 chrome_observer_.reset(new ChromeRenderProcessObserver()); | 367 chrome_observer_.reset(new ChromeRenderProcessObserver()); |
| 368 web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver()); | 368 web_cache_observer_.reset(new web_cache::WebCacheRenderProcessObserver()); |
| 369 guest_view_container_observer_.reset(new ChromeGuestViewContainerObserver()); |
| 369 | 370 |
| 370 #if defined(ENABLE_EXTENSIONS) | 371 #if defined(ENABLE_EXTENSIONS) |
| 371 extension_dispatcher_delegate_.reset( | 372 extension_dispatcher_delegate_.reset( |
| 372 new ChromeExtensionsDispatcherDelegate()); | 373 new ChromeExtensionsDispatcherDelegate()); |
| 373 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and | 374 // ChromeRenderViewTest::SetUp() creates its own ExtensionDispatcher and |
| 374 // injects it using SetExtensionDispatcher(). Don't overwrite it. | 375 // injects it using SetExtensionDispatcher(). Don't overwrite it. |
| 375 if (!extension_dispatcher_) { | 376 if (!extension_dispatcher_) { |
| 376 extension_dispatcher_.reset( | 377 extension_dispatcher_.reset( |
| 377 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); | 378 new extensions::Dispatcher(extension_dispatcher_delegate_.get())); |
| 378 } | 379 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 397 #endif | 398 #endif |
| 398 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); | 399 prerender_dispatcher_.reset(new prerender::PrerenderDispatcher()); |
| 399 #if defined(ENABLE_WEBRTC) | 400 #if defined(ENABLE_WEBRTC) |
| 400 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter( | 401 webrtc_logging_message_filter_ = new WebRtcLoggingMessageFilter( |
| 401 RenderThread::Get()->GetIOMessageLoopProxy()); | 402 RenderThread::Get()->GetIOMessageLoopProxy()); |
| 402 #endif | 403 #endif |
| 403 search_bouncer_.reset(new SearchBouncer()); | 404 search_bouncer_.reset(new SearchBouncer()); |
| 404 | 405 |
| 405 thread->AddObserver(chrome_observer_.get()); | 406 thread->AddObserver(chrome_observer_.get()); |
| 406 thread->AddObserver(web_cache_observer_.get()); | 407 thread->AddObserver(web_cache_observer_.get()); |
| 408 thread->AddObserver(guest_view_container_observer_.get()); |
| 407 #if defined(ENABLE_EXTENSIONS) | 409 #if defined(ENABLE_EXTENSIONS) |
| 408 thread->AddObserver(extension_dispatcher_.get()); | 410 thread->AddObserver(extension_dispatcher_.get()); |
| 409 #endif | 411 #endif |
| 410 #if defined(FULL_SAFE_BROWSING) | 412 #if defined(FULL_SAFE_BROWSING) |
| 411 thread->AddObserver(phishing_classifier_.get()); | 413 thread->AddObserver(phishing_classifier_.get()); |
| 412 #endif | 414 #endif |
| 413 thread->AddObserver(visited_link_slave_.get()); | 415 thread->AddObserver(visited_link_slave_.get()); |
| 414 thread->AddObserver(prerender_dispatcher_.get()); | 416 thread->AddObserver(prerender_dispatcher_.get()); |
| 415 thread->AddObserver(search_bouncer_.get()); | 417 thread->AddObserver(search_bouncer_.get()); |
| 416 | 418 |
| (...skipping 888 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1305 // uninstalled. | 1307 // uninstalled. |
| 1306 if (frame->top()->document().url() == url) { | 1308 if (frame->top()->document().url() == url) { |
| 1307 if (is_extension_url != IsStandaloneExtensionProcess()) | 1309 if (is_extension_url != IsStandaloneExtensionProcess()) |
| 1308 return true; | 1310 return true; |
| 1309 } | 1311 } |
| 1310 #endif // defined(ENABLE_EXTENSIONS) | 1312 #endif // defined(ENABLE_EXTENSIONS) |
| 1311 | 1313 |
| 1312 return false; | 1314 return false; |
| 1313 } | 1315 } |
| 1314 | 1316 |
| 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( | 1317 bool ChromeContentRendererClient::WillSendRequest( |
| 1327 blink::WebFrame* frame, | 1318 blink::WebFrame* frame, |
| 1328 ui::PageTransition transition_type, | 1319 ui::PageTransition transition_type, |
| 1329 const GURL& url, | 1320 const GURL& url, |
| 1330 const GURL& first_party_for_cookies, | 1321 const GURL& first_party_for_cookies, |
| 1331 GURL* new_url) { | 1322 GURL* new_url) { |
| 1332 // Check whether the request should be allowed. If not allowed, we reset the | 1323 // 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. | 1324 // URL to something invalid to prevent the request and cause an error. |
| 1334 #if defined(ENABLE_EXTENSIONS) | 1325 #if defined(ENABLE_EXTENSIONS) |
| 1335 if (url.SchemeIs(extensions::kExtensionScheme) && | 1326 if (url.SchemeIs(extensions::kExtensionScheme) && |
| (...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1653 WebString header_key(ASCIIToUTF16( | 1644 WebString header_key(ASCIIToUTF16( |
| 1654 data_reduction_proxy::chrome_proxy_header())); | 1645 data_reduction_proxy::chrome_proxy_header())); |
| 1655 if (!response.httpHeaderField(header_key).isNull() && | 1646 if (!response.httpHeaderField(header_key).isNull() && |
| 1656 response.httpHeaderField(header_key).utf8().find( | 1647 response.httpHeaderField(header_key).utf8().find( |
| 1657 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != | 1648 data_reduction_proxy::chrome_proxy_lo_fi_directive()) != |
| 1658 std::string::npos) { | 1649 std::string::npos) { |
| 1659 (*properties)[data_reduction_proxy::chrome_proxy_header()] = | 1650 (*properties)[data_reduction_proxy::chrome_proxy_header()] = |
| 1660 data_reduction_proxy::chrome_proxy_lo_fi_directive(); | 1651 data_reduction_proxy::chrome_proxy_lo_fi_directive(); |
| 1661 } | 1652 } |
| 1662 } | 1653 } |
| OLD | NEW |