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/browser/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <utility> | 9 #include <utility> |
10 #include <vector> | 10 #include <vector> |
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
657 mojo::InterfaceRequest<device::usb::DeviceManager> request) { | 657 mojo::InterfaceRequest<device::usb::DeviceManager> request) { |
658 WebContents* web_contents = | 658 WebContents* web_contents = |
659 WebContents::FromRenderFrameHost(render_frame_host); | 659 WebContents::FromRenderFrameHost(render_frame_host); |
660 if (!web_contents) { | 660 if (!web_contents) { |
661 NOTREACHED(); | 661 NOTREACHED(); |
662 return; | 662 return; |
663 } | 663 } |
664 | 664 |
665 UsbTabHelper* tab_helper = | 665 UsbTabHelper* tab_helper = |
666 UsbTabHelper::GetOrCreateForWebContents(web_contents); | 666 UsbTabHelper::GetOrCreateForWebContents(web_contents); |
667 tab_helper->CreateDeviceManager(render_frame_host, request.Pass()); | 667 tab_helper->CreateDeviceManager(render_frame_host, std::move(request)); |
668 } | 668 } |
669 | 669 |
670 #if !defined(OS_ANDROID) && !defined(OS_IOS) | 670 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
671 void CreateWebUsbPermissionBubble( | 671 void CreateWebUsbPermissionBubble( |
672 RenderFrameHost* render_frame_host, | 672 RenderFrameHost* render_frame_host, |
673 mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { | 673 mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) { |
674 WebContents* web_contents = | 674 WebContents* web_contents = |
675 WebContents::FromRenderFrameHost(render_frame_host); | 675 WebContents::FromRenderFrameHost(render_frame_host); |
676 if (!web_contents) { | 676 if (!web_contents) { |
677 NOTREACHED(); | 677 NOTREACHED(); |
678 return; | 678 return; |
679 } | 679 } |
680 | 680 |
681 UsbTabHelper* tab_helper = | 681 UsbTabHelper* tab_helper = |
682 UsbTabHelper::GetOrCreateForWebContents(web_contents); | 682 UsbTabHelper::GetOrCreateForWebContents(web_contents); |
683 tab_helper->CreatePermissionBubble(render_frame_host, request.Pass()); | 683 tab_helper->CreatePermissionBubble(render_frame_host, std::move(request)); |
684 } | 684 } |
685 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) | 685 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) |
686 | 686 |
687 } // namespace | 687 } // namespace |
688 | 688 |
689 ChromeContentBrowserClient::ChromeContentBrowserClient() | 689 ChromeContentBrowserClient::ChromeContentBrowserClient() |
690 : | 690 : |
691 weak_factory_(this) { | 691 weak_factory_(this) { |
692 #if defined(ENABLE_PLUGINS) | 692 #if defined(ENABLE_PLUGINS) |
693 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) | 693 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) |
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1050 return webui::LogWebUIUrl(web_ui_url); | 1050 return webui::LogWebUIUrl(web_ui_url); |
1051 } | 1051 } |
1052 | 1052 |
1053 net::URLRequestContextGetter* | 1053 net::URLRequestContextGetter* |
1054 ChromeContentBrowserClient::CreateRequestContext( | 1054 ChromeContentBrowserClient::CreateRequestContext( |
1055 content::BrowserContext* browser_context, | 1055 content::BrowserContext* browser_context, |
1056 content::ProtocolHandlerMap* protocol_handlers, | 1056 content::ProtocolHandlerMap* protocol_handlers, |
1057 content::URLRequestInterceptorScopedVector request_interceptors) { | 1057 content::URLRequestInterceptorScopedVector request_interceptors) { |
1058 Profile* profile = Profile::FromBrowserContext(browser_context); | 1058 Profile* profile = Profile::FromBrowserContext(browser_context); |
1059 return profile->CreateRequestContext(protocol_handlers, | 1059 return profile->CreateRequestContext(protocol_handlers, |
1060 request_interceptors.Pass()); | 1060 std::move(request_interceptors)); |
1061 } | 1061 } |
1062 | 1062 |
1063 net::URLRequestContextGetter* | 1063 net::URLRequestContextGetter* |
1064 ChromeContentBrowserClient::CreateRequestContextForStoragePartition( | 1064 ChromeContentBrowserClient::CreateRequestContextForStoragePartition( |
1065 content::BrowserContext* browser_context, | 1065 content::BrowserContext* browser_context, |
1066 const base::FilePath& partition_path, | 1066 const base::FilePath& partition_path, |
1067 bool in_memory, | 1067 bool in_memory, |
1068 content::ProtocolHandlerMap* protocol_handlers, | 1068 content::ProtocolHandlerMap* protocol_handlers, |
1069 content::URLRequestInterceptorScopedVector request_interceptors) { | 1069 content::URLRequestInterceptorScopedVector request_interceptors) { |
1070 Profile* profile = Profile::FromBrowserContext(browser_context); | 1070 Profile* profile = Profile::FromBrowserContext(browser_context); |
1071 return profile->CreateRequestContextForStoragePartition( | 1071 return profile->CreateRequestContextForStoragePartition( |
1072 partition_path, | 1072 partition_path, in_memory, protocol_handlers, |
1073 in_memory, | 1073 std::move(request_interceptors)); |
1074 protocol_handlers, | |
1075 request_interceptors.Pass()); | |
1076 } | 1074 } |
1077 | 1075 |
1078 bool ChromeContentBrowserClient::IsHandledURL(const GURL& url) { | 1076 bool ChromeContentBrowserClient::IsHandledURL(const GURL& url) { |
1079 return ProfileIOData::IsHandledURL(url); | 1077 return ProfileIOData::IsHandledURL(url); |
1080 } | 1078 } |
1081 | 1079 |
1082 bool ChromeContentBrowserClient::CanCommitURL( | 1080 bool ChromeContentBrowserClient::CanCommitURL( |
1083 content::RenderProcessHost* process_host, | 1081 content::RenderProcessHost* process_host, |
1084 const GURL& url) { | 1082 const GURL& url) { |
1085 #if defined(ENABLE_EXTENSIONS) | 1083 #if defined(ENABLE_EXTENSIONS) |
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2018 options_mask |= SSLErrorUI::EXPIRED_BUT_PREVIOUSLY_ALLOWED; | 2016 options_mask |= SSLErrorUI::EXPIRED_BUT_PREVIOUSLY_ALLOWED; |
2019 | 2017 |
2020 safe_browsing::SafeBrowsingService* safe_browsing_service = | 2018 safe_browsing::SafeBrowsingService* safe_browsing_service = |
2021 g_browser_process->safe_browsing_service(); | 2019 g_browser_process->safe_browsing_service(); |
2022 scoped_ptr<SafeBrowsingSSLCertReporter> cert_reporter( | 2020 scoped_ptr<SafeBrowsingSSLCertReporter> cert_reporter( |
2023 new SafeBrowsingSSLCertReporter(safe_browsing_service | 2021 new SafeBrowsingSSLCertReporter(safe_browsing_service |
2024 ? safe_browsing_service->ui_manager() | 2022 ? safe_browsing_service->ui_manager() |
2025 : nullptr)); | 2023 : nullptr)); |
2026 SSLErrorHandler::HandleSSLError(web_contents, cert_error, ssl_info, | 2024 SSLErrorHandler::HandleSSLError(web_contents, cert_error, ssl_info, |
2027 request_url, options_mask, | 2025 request_url, options_mask, |
2028 cert_reporter.Pass(), callback); | 2026 std::move(cert_reporter), callback); |
2029 } | 2027 } |
2030 | 2028 |
2031 void ChromeContentBrowserClient::SelectClientCertificate( | 2029 void ChromeContentBrowserClient::SelectClientCertificate( |
2032 content::WebContents* web_contents, | 2030 content::WebContents* web_contents, |
2033 net::SSLCertRequestInfo* cert_request_info, | 2031 net::SSLCertRequestInfo* cert_request_info, |
2034 scoped_ptr<content::ClientCertificateDelegate> delegate) { | 2032 scoped_ptr<content::ClientCertificateDelegate> delegate) { |
2035 prerender::PrerenderContents* prerender_contents = | 2033 prerender::PrerenderContents* prerender_contents = |
2036 prerender::PrerenderContents::FromWebContents(web_contents); | 2034 prerender::PrerenderContents::FromWebContents(web_contents); |
2037 if (prerender_contents) { | 2035 if (prerender_contents) { |
2038 prerender_contents->Destroy( | 2036 prerender_contents->Destroy( |
(...skipping 30 matching lines...) Expand all Loading... |
2069 delegate->ContinueWithCertificate(all_client_certs[i].get()); | 2067 delegate->ContinueWithCertificate(all_client_certs[i].get()); |
2070 return; | 2068 return; |
2071 } | 2069 } |
2072 } | 2070 } |
2073 } else { | 2071 } else { |
2074 NOTREACHED(); | 2072 NOTREACHED(); |
2075 } | 2073 } |
2076 } | 2074 } |
2077 | 2075 |
2078 chrome::ShowSSLClientCertificateSelector(web_contents, cert_request_info, | 2076 chrome::ShowSSLClientCertificateSelector(web_contents, cert_request_info, |
2079 delegate.Pass()); | 2077 std::move(delegate)); |
2080 } | 2078 } |
2081 | 2079 |
2082 void ChromeContentBrowserClient::AddCertificate( | 2080 void ChromeContentBrowserClient::AddCertificate( |
2083 net::CertificateMimeType cert_type, | 2081 net::CertificateMimeType cert_type, |
2084 const void* cert_data, | 2082 const void* cert_data, |
2085 size_t cert_size, | 2083 size_t cert_size, |
2086 int render_process_id, | 2084 int render_process_id, |
2087 int render_frame_id) { | 2085 int render_frame_id) { |
2088 chrome::SSLAddCertificate(cert_type, cert_data, cert_size, | 2086 chrome::SSLAddCertificate(cert_type, cert_data, cert_size, |
2089 render_process_id, render_frame_id); | 2087 render_process_id, render_frame_id); |
(...skipping 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2701 handle) | 2699 handle) |
2702 .Pass()); | 2700 .Pass()); |
2703 } | 2701 } |
2704 #else | 2702 #else |
2705 if (handle->IsInMainFrame()) { | 2703 if (handle->IsInMainFrame()) { |
2706 // Redirect some navigations to apps that have registered matching URL | 2704 // Redirect some navigations to apps that have registered matching URL |
2707 // handlers ('url_handlers' in the manifest). | 2705 // handlers ('url_handlers' in the manifest). |
2708 scoped_ptr<content::NavigationThrottle> url_to_app_throttle = | 2706 scoped_ptr<content::NavigationThrottle> url_to_app_throttle = |
2709 AppUrlRedirector::MaybeCreateThrottleFor(handle); | 2707 AppUrlRedirector::MaybeCreateThrottleFor(handle); |
2710 if (url_to_app_throttle) | 2708 if (url_to_app_throttle) |
2711 throttles.push_back(url_to_app_throttle.Pass()); | 2709 throttles.push_back(std::move(url_to_app_throttle)); |
2712 } | 2710 } |
2713 #endif | 2711 #endif |
2714 | 2712 |
2715 #if defined(OS_CHROMEOS) | 2713 #if defined(OS_CHROMEOS) |
2716 // Check if we need to add merge session throttle. This throttle will postpone | 2714 // Check if we need to add merge session throttle. This throttle will postpone |
2717 // loading of main frames. | 2715 // loading of main frames. |
2718 if (handle->IsInMainFrame()) { | 2716 if (handle->IsInMainFrame()) { |
2719 // Add interstitial page while merge session process (cookie reconstruction | 2717 // Add interstitial page while merge session process (cookie reconstruction |
2720 // from OAuth2 refresh token in ChromeOS login) is still in progress while | 2718 // from OAuth2 refresh token in ChromeOS login) is still in progress while |
2721 // we are attempting to load a google property. | 2719 // we are attempting to load a google property. |
2722 if (!merge_session_throttling_utils::AreAllSessionMergedAlready() && | 2720 if (!merge_session_throttling_utils::AreAllSessionMergedAlready() && |
2723 handle->GetURL().SchemeIsHTTPOrHTTPS()) { | 2721 handle->GetURL().SchemeIsHTTPOrHTTPS()) { |
2724 throttles.push_back(MergeSessionNavigationThrottle::Create(handle)); | 2722 throttles.push_back(MergeSessionNavigationThrottle::Create(handle)); |
2725 } | 2723 } |
2726 } | 2724 } |
2727 #endif | 2725 #endif |
2728 | 2726 |
2729 return throttles.Pass(); | 2727 return throttles; |
2730 } | 2728 } |
2731 | 2729 |
2732 content::DevToolsManagerDelegate* | 2730 content::DevToolsManagerDelegate* |
2733 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { | 2731 ChromeContentBrowserClient::GetDevToolsManagerDelegate() { |
2734 return new ChromeDevToolsManagerDelegate(); | 2732 return new ChromeDevToolsManagerDelegate(); |
2735 } | 2733 } |
2736 | 2734 |
2737 content::TracingDelegate* ChromeContentBrowserClient::GetTracingDelegate() { | 2735 content::TracingDelegate* ChromeContentBrowserClient::GetTracingDelegate() { |
2738 #if !defined(OS_ANDROID) | 2736 #if !defined(OS_ANDROID) |
2739 return new ChromeTracingDelegate(); | 2737 return new ChromeTracingDelegate(); |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2800 if (channel <= kMaxDisableEncryptionChannel) { | 2798 if (channel <= kMaxDisableEncryptionChannel) { |
2801 static const char* const kWebRtcDevSwitchNames[] = { | 2799 static const char* const kWebRtcDevSwitchNames[] = { |
2802 switches::kDisableWebRtcEncryption, | 2800 switches::kDisableWebRtcEncryption, |
2803 }; | 2801 }; |
2804 to_command_line->CopySwitchesFrom(from_command_line, | 2802 to_command_line->CopySwitchesFrom(from_command_line, |
2805 kWebRtcDevSwitchNames, | 2803 kWebRtcDevSwitchNames, |
2806 arraysize(kWebRtcDevSwitchNames)); | 2804 arraysize(kWebRtcDevSwitchNames)); |
2807 } | 2805 } |
2808 } | 2806 } |
2809 #endif // defined(ENABLE_WEBRTC) | 2807 #endif // defined(ENABLE_WEBRTC) |
OLD | NEW |