Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Side by Side Diff: chrome/browser/io_thread.cc

Issue 2986623002: Revert of Make ProfileIOData use URLRequestContextBuilder (Closed)
Patch Set: Created 3 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/browser/io_thread.h ('k') | chrome/browser/net/proxy_service_factory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/io_thread.h" 5 #include "chrome/browser/io_thread.h"
6 6
7 #include <utility> 7 #include <utility>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 769 matching lines...) Expand 10 before | Expand all | Expand 10 after
780 } 780 }
781 781
782 bool IOThread::WpadQuickCheckEnabled() const { 782 bool IOThread::WpadQuickCheckEnabled() const {
783 return quick_check_enabled_.GetValue(); 783 return quick_check_enabled_.GetValue();
784 } 784 }
785 785
786 bool IOThread::PacHttpsUrlStrippingEnabled() const { 786 bool IOThread::PacHttpsUrlStrippingEnabled() const {
787 return pac_https_url_stripping_enabled_.GetValue(); 787 return pac_https_url_stripping_enabled_.GetValue();
788 } 788 }
789 789
790 void IOThread::SetUpProxyConfigService( 790 void IOThread::ConstructSystemRequestContext() {
791 net::URLRequestContextBuilderMojo* builder,
792 std::unique_ptr<net::ProxyConfigService> proxy_config_service) const {
793 const base::CommandLine& command_line = 791 const base::CommandLine& command_line =
794 *base::CommandLine::ForCurrentProcess(); 792 *base::CommandLine::ForCurrentProcess();
795
796 // TODO(eroman): Figure out why this doesn't work in single-process mode.
797 // Should be possible now that a private isolate is used.
798 // http://crbug.com/474654
799 if (!command_line.HasSwitch(switches::kWinHttpProxyResolver)) {
800 if (command_line.HasSwitch(switches::kSingleProcess)) {
801 LOG(ERROR) << "Cannot use V8 Proxy resolver in single process mode.";
802 } else {
803 builder->set_mojo_proxy_resolver_factory(
804 ChromeMojoProxyResolverFactory::GetInstance());
805 #if defined(OS_CHROMEOS)
806 builder->set_dhcp_fetcher_factory(
807 base::MakeUnique<chromeos::DhcpProxyScriptFetcherFactoryChromeos>());
808 #endif
809 }
810 }
811
812 builder->set_pac_quick_check_enabled(WpadQuickCheckEnabled());
813 builder->set_pac_sanitize_url_policy(
814 PacHttpsUrlStrippingEnabled()
815 ? net::ProxyService::SanitizeUrlPolicy::SAFE
816 : net::ProxyService::SanitizeUrlPolicy::UNSAFE);
817 builder->set_proxy_config_service(std::move(proxy_config_service));
818 }
819
820 void IOThread::ConstructSystemRequestContext() {
821 std::unique_ptr<net::URLRequestContextBuilderMojo> builder = 793 std::unique_ptr<net::URLRequestContextBuilderMojo> builder =
822 base::MakeUnique<net::URLRequestContextBuilderMojo>(); 794 base::MakeUnique<net::URLRequestContextBuilderMojo>();
823 795
824 builder->set_network_quality_estimator( 796 builder->set_network_quality_estimator(
825 globals_->network_quality_estimator.get()); 797 globals_->network_quality_estimator.get());
826 builder->set_enable_brotli(globals_->enable_brotli); 798 builder->set_enable_brotli(globals_->enable_brotli);
827 builder->set_name("system"); 799 builder->set_name("system");
828 800
829 builder->set_user_agent(GetUserAgent()); 801 builder->set_user_agent(GetUserAgent());
830 std::unique_ptr<ChromeNetworkDelegate> chrome_network_delegate( 802 std::unique_ptr<ChromeNetworkDelegate> chrome_network_delegate(
(...skipping 18 matching lines...) Expand all
849 821
850 std::unique_ptr<net::CertVerifier> cert_verifier; 822 std::unique_ptr<net::CertVerifier> cert_verifier;
851 #if defined(OS_CHROMEOS) 823 #if defined(OS_CHROMEOS)
852 // Creates a CertVerifyProc that doesn't allow any profile-provided certs. 824 // Creates a CertVerifyProc that doesn't allow any profile-provided certs.
853 cert_verifier = base::MakeUnique<net::CachingCertVerifier>( 825 cert_verifier = base::MakeUnique<net::CachingCertVerifier>(
854 base::MakeUnique<net::MultiThreadedCertVerifier>( 826 base::MakeUnique<net::MultiThreadedCertVerifier>(
855 new chromeos::CertVerifyProcChromeOS())); 827 new chromeos::CertVerifyProcChromeOS()));
856 #else 828 #else
857 cert_verifier = net::CertVerifier::CreateDefault(); 829 cert_verifier = net::CertVerifier::CreateDefault();
858 #endif 830 #endif
859 const base::CommandLine& command_line =
860 *base::CommandLine::ForCurrentProcess();
861 builder->SetCertVerifier( 831 builder->SetCertVerifier(
862 content::IgnoreErrorsCertVerifier::MaybeWrapCertVerifier( 832 content::IgnoreErrorsCertVerifier::MaybeWrapCertVerifier(
863 command_line, switches::kUserDataDir, std::move(cert_verifier))); 833 command_line, switches::kUserDataDir, std::move(cert_verifier)));
864 UMA_HISTOGRAM_BOOLEAN( 834 UMA_HISTOGRAM_BOOLEAN(
865 "Net.Certificate.IgnoreCertificateErrorsSPKIListPresent", 835 "Net.Certificate.IgnoreCertificateErrorsSPKIListPresent",
866 command_line.HasSwitch(switches::kIgnoreCertificateErrorsSPKIList)); 836 command_line.HasSwitch(switches::kIgnoreCertificateErrorsSPKIList));
867 837
868 std::unique_ptr<net::MultiLogCTVerifier> ct_verifier = 838 std::unique_ptr<net::MultiLogCTVerifier> ct_verifier =
869 base::MakeUnique<net::MultiLogCTVerifier>(); 839 base::MakeUnique<net::MultiLogCTVerifier>();
870 // Add built-in logs 840 // Add built-in logs
871 ct_verifier->AddLogs(globals_->ct_logs); 841 ct_verifier->AddLogs(globals_->ct_logs);
872 842
873 // Register the ct_tree_tracker_ as observer for verified SCTs. 843 // Register the ct_tree_tracker_ as observer for verified SCTs.
874 ct_verifier->SetObserver(ct_tree_tracker_.get()); 844 ct_verifier->SetObserver(ct_tree_tracker_.get());
875 845
876 builder->set_ct_verifier(std::move(ct_verifier)); 846 builder->set_ct_verifier(std::move(ct_verifier));
877 847
878 SetUpProxyConfigService(builder.get(), 848 // TODO(eroman): Figure out why this doesn't work in single-process mode.
879 std::move(system_proxy_config_service_)); 849 // Should be possible now that a private isolate is used.
850 // http://crbug.com/474654
851 if (!command_line.HasSwitch(switches::kWinHttpProxyResolver)) {
852 if (command_line.HasSwitch(switches::kSingleProcess)) {
853 LOG(ERROR) << "Cannot use V8 Proxy resolver in single process mode.";
854 } else {
855 builder->set_mojo_proxy_resolver_factory(
856 ChromeMojoProxyResolverFactory::GetInstance());
857 }
858 }
859
860 builder->set_pac_quick_check_enabled(WpadQuickCheckEnabled());
861 builder->set_pac_sanitize_url_policy(
862 PacHttpsUrlStrippingEnabled()
863 ? net::ProxyService::SanitizeUrlPolicy::SAFE
864 : net::ProxyService::SanitizeUrlPolicy::UNSAFE);
865 #if defined(OS_CHROMEOS)
866 builder->set_dhcp_fetcher_factory(
867 base::MakeUnique<chromeos::DhcpProxyScriptFetcherFactoryChromeos>());
868 #endif
869 builder->set_proxy_config_service(std::move(system_proxy_config_service_));
880 870
881 builder->set_http_network_session_params(session_params_); 871 builder->set_http_network_session_params(session_params_);
882 872
883 builder->set_data_enabled(true); 873 builder->set_data_enabled(true);
884 builder->set_file_enabled(true); 874 builder->set_file_enabled(true);
885 #if !BUILDFLAG(DISABLE_FTP_SUPPORT) 875 #if !BUILDFLAG(DISABLE_FTP_SUPPORT)
886 builder->set_ftp_enabled(true); 876 builder->set_ftp_enabled(true);
887 #endif 877 #endif
888 878
889 builder->DisableHttpCache(); 879 builder->DisableHttpCache();
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
924 if (command_line.HasSwitch(switches::kIgnoreUrlFetcherCertRequests)) 914 if (command_line.HasSwitch(switches::kIgnoreUrlFetcherCertRequests))
925 net::URLFetcher::SetIgnoreCertificateRequests(true); 915 net::URLFetcher::SetIgnoreCertificateRequests(true);
926 916
927 params->http_09_on_non_default_ports_enabled = 917 params->http_09_on_non_default_ports_enabled =
928 http_09_on_non_default_ports_enabled; 918 http_09_on_non_default_ports_enabled;
929 } 919 }
930 920
931 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() { 921 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() {
932 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread); 922 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread);
933 } 923 }
OLDNEW
« no previous file with comments | « chrome/browser/io_thread.h ('k') | chrome/browser/net/proxy_service_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698