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/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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 #include "url/url_constants.h" | 112 #include "url/url_constants.h" |
113 | 113 |
114 #if BUILDFLAG(ENABLE_EXTENSIONS) | 114 #if BUILDFLAG(ENABLE_EXTENSIONS) |
115 #include "chrome/browser/extensions/event_router_forwarder.h" | 115 #include "chrome/browser/extensions/event_router_forwarder.h" |
116 #endif | 116 #endif |
117 | 117 |
118 #if defined(USE_NSS_CERTS) | 118 #if defined(USE_NSS_CERTS) |
119 #include "net/cert_net/nss_ocsp.h" | 119 #include "net/cert_net/nss_ocsp.h" |
120 #endif | 120 #endif |
121 | 121 |
122 #if BUILDFLAG(ANDROID_JAVA_UI) | 122 #if defined(OS_ANDROID) |
123 #include "base/android/build_info.h" | 123 #include "base/android/build_info.h" |
124 #include "chrome/browser/android/data_usage/external_data_use_observer.h" | 124 #include "chrome/browser/android/data_usage/external_data_use_observer.h" |
125 #include "chrome/browser/android/net/external_estimate_provider_android.h" | 125 #include "chrome/browser/android/net/external_estimate_provider_android.h" |
126 #include "components/data_usage/android/traffic_stats_amortizer.h" | 126 #include "components/data_usage/android/traffic_stats_amortizer.h" |
127 #endif | 127 #endif // defined(OS_ANDROID) |
128 | 128 |
129 #if defined(OS_CHROMEOS) | 129 #if defined(OS_CHROMEOS) |
130 #include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h" | 130 #include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h" |
131 #include "chromeos/network/host_resolver_impl_chromeos.h" | 131 #include "chromeos/network/host_resolver_impl_chromeos.h" |
132 #endif | 132 #endif |
133 | 133 |
134 #if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) | 134 #if defined(OS_ANDROID) && defined(ARCH_CPU_ARMEL) |
135 #include "crypto/openssl_util.h" | 135 #include "crypto/openssl_util.h" |
136 #include "third_party/boringssl/src/include/openssl/cpu.h" | 136 #include "third_party/boringssl/src/include/openssl/cpu.h" |
137 #endif | 137 #endif |
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 | 513 |
514 // Setup the HistogramWatcher to run on the IO thread. | 514 // Setup the HistogramWatcher to run on the IO thread. |
515 net::NetworkChangeNotifier::InitHistogramWatcher(); | 515 net::NetworkChangeNotifier::InitHistogramWatcher(); |
516 | 516 |
517 #if BUILDFLAG(ENABLE_EXTENSIONS) | 517 #if BUILDFLAG(ENABLE_EXTENSIONS) |
518 globals_->extension_event_router_forwarder = | 518 globals_->extension_event_router_forwarder = |
519 extension_event_router_forwarder_; | 519 extension_event_router_forwarder_; |
520 #endif | 520 #endif |
521 | 521 |
522 std::unique_ptr<data_usage::DataUseAmortizer> data_use_amortizer; | 522 std::unique_ptr<data_usage::DataUseAmortizer> data_use_amortizer; |
523 #if BUILDFLAG(ANDROID_JAVA_UI) | 523 #if defined(OS_ANDROID) |
524 data_use_amortizer.reset(new data_usage::android::TrafficStatsAmortizer()); | 524 data_use_amortizer.reset(new data_usage::android::TrafficStatsAmortizer()); |
525 #endif | 525 #endif // defined(OS_ANDROID) |
526 | 526 |
527 globals_->data_use_ascriber = | 527 globals_->data_use_ascriber = |
528 base::MakeUnique<data_use_measurement::ChromeDataUseAscriber>(); | 528 base::MakeUnique<data_use_measurement::ChromeDataUseAscriber>(); |
529 | 529 |
530 globals_->data_use_aggregator.reset(new data_usage::DataUseAggregator( | 530 globals_->data_use_aggregator.reset(new data_usage::DataUseAggregator( |
531 std::unique_ptr<data_usage::DataUseAnnotator>( | 531 std::unique_ptr<data_usage::DataUseAnnotator>( |
532 new chrome_browser_data_usage::TabIdAnnotator()), | 532 new chrome_browser_data_usage::TabIdAnnotator()), |
533 std::move(data_use_amortizer))); | 533 std::move(data_use_amortizer))); |
534 | 534 |
535 std::unique_ptr<ChromeNetworkDelegate> chrome_network_delegate( | 535 std::unique_ptr<ChromeNetworkDelegate> chrome_network_delegate( |
536 new ChromeNetworkDelegate(extension_event_router_forwarder(), | 536 new ChromeNetworkDelegate(extension_event_router_forwarder(), |
537 &system_enable_referrers_)); | 537 &system_enable_referrers_)); |
538 // By default, data usage is considered off the record. | 538 // By default, data usage is considered off the record. |
539 chrome_network_delegate->set_data_use_aggregator( | 539 chrome_network_delegate->set_data_use_aggregator( |
540 globals_->data_use_aggregator.get(), | 540 globals_->data_use_aggregator.get(), |
541 true /* is_data_usage_off_the_record */); | 541 true /* is_data_usage_off_the_record */); |
542 | 542 |
543 #if BUILDFLAG(ANDROID_JAVA_UI) | 543 #if defined(OS_ANDROID) |
544 globals_->external_data_use_observer.reset( | 544 globals_->external_data_use_observer.reset( |
545 new chrome::android::ExternalDataUseObserver( | 545 new chrome::android::ExternalDataUseObserver( |
546 globals_->data_use_aggregator.get(), | 546 globals_->data_use_aggregator.get(), |
547 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO), | 547 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO), |
548 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); | 548 BrowserThread::GetTaskRunnerForThread(BrowserThread::UI))); |
549 #endif | 549 #endif // defined(OS_ANDROID) |
550 | 550 |
551 globals_->system_network_delegate = | 551 globals_->system_network_delegate = |
552 globals_->data_use_ascriber->CreateNetworkDelegate( | 552 globals_->data_use_ascriber->CreateNetworkDelegate( |
553 std::move(chrome_network_delegate), GetMetricsDataUseForwarder()); | 553 std::move(chrome_network_delegate), GetMetricsDataUseForwarder()); |
554 | 554 |
555 globals_->host_resolver = CreateGlobalHostResolver(net_log_); | 555 globals_->host_resolver = CreateGlobalHostResolver(net_log_); |
556 | 556 |
557 std::map<std::string, std::string> network_quality_estimator_params; | 557 std::map<std::string, std::string> network_quality_estimator_params; |
558 variations::GetVariationParams(kNetworkQualityEstimatorFieldTrialName, | 558 variations::GetVariationParams(kNetworkQualityEstimatorFieldTrialName, |
559 &network_quality_estimator_params); | 559 &network_quality_estimator_params); |
560 | 560 |
561 std::unique_ptr<net::ExternalEstimateProvider> external_estimate_provider; | 561 std::unique_ptr<net::ExternalEstimateProvider> external_estimate_provider; |
562 #if BUILDFLAG(ANDROID_JAVA_UI) | 562 #if defined(OS_ANDROID) |
563 external_estimate_provider.reset( | 563 external_estimate_provider.reset( |
564 new chrome::android::ExternalEstimateProviderAndroid()); | 564 new chrome::android::ExternalEstimateProviderAndroid()); |
565 #endif | 565 #endif // defined(OS_ANDROID) |
566 // Pass ownership. | 566 // Pass ownership. |
567 globals_->network_quality_estimator.reset(new net::NetworkQualityEstimator( | 567 globals_->network_quality_estimator.reset(new net::NetworkQualityEstimator( |
568 std::move(external_estimate_provider), network_quality_estimator_params)); | 568 std::move(external_estimate_provider), network_quality_estimator_params)); |
569 | 569 |
570 UpdateDnsClientEnabled(); | 570 UpdateDnsClientEnabled(); |
571 #if defined(OS_CHROMEOS) | 571 #if defined(OS_CHROMEOS) |
572 // Creates a CertVerifyProc that doesn't allow any profile-provided certs. | 572 // Creates a CertVerifyProc that doesn't allow any profile-provided certs. |
573 globals_->cert_verifier = base::MakeUnique<net::CachingCertVerifier>( | 573 globals_->cert_verifier = base::MakeUnique<net::CachingCertVerifier>( |
574 base::MakeUnique<net::MultiThreadedCertVerifier>( | 574 base::MakeUnique<net::MultiThreadedCertVerifier>( |
575 new chromeos::CertVerifyProcChromeOS())); | 575 new chromeos::CertVerifyProcChromeOS())); |
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1089 | 1089 |
1090 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the | 1090 // TODO(rtenneti): We should probably use HttpServerPropertiesManager for the |
1091 // system URLRequestContext too. There's no reason this should be tied to a | 1091 // system URLRequestContext too. There's no reason this should be tied to a |
1092 // profile. | 1092 // profile. |
1093 return context; | 1093 return context; |
1094 } | 1094 } |
1095 | 1095 |
1096 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() { | 1096 metrics::UpdateUsagePrefCallbackType IOThread::GetMetricsDataUseForwarder() { |
1097 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread); | 1097 return base::Bind(&UpdateMetricsUsagePrefsOnUIThread); |
1098 } | 1098 } |
OLD | NEW |