| 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 <vector> | 7 #include <vector> |
| 8 | 8 |
| 9 #include "base/base64.h" | 9 #include "base/base64.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 87 | 87 |
| 88 #if !defined(USE_OPENSSL) | 88 #if !defined(USE_OPENSSL) |
| 89 #include "net/cert/ct_log_verifier.h" | 89 #include "net/cert/ct_log_verifier.h" |
| 90 #include "net/cert/multi_log_ct_verifier.h" | 90 #include "net/cert/multi_log_ct_verifier.h" |
| 91 #endif | 91 #endif |
| 92 | 92 |
| 93 #if defined(USE_NSS) || defined(OS_IOS) | 93 #if defined(USE_NSS) || defined(OS_IOS) |
| 94 #include "net/ocsp/nss_ocsp.h" | 94 #include "net/ocsp/nss_ocsp.h" |
| 95 #endif | 95 #endif |
| 96 | 96 |
| 97 #if defined(OS_ANDROID) || defined(OS_IOS) | 97 #if defined(SPDY_PROXY_AUTH_ORIGIN) |
| 98 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| 99 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact
ory.h" |
| 98 #include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_requ
est_handler.h" | 100 #include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_requ
est_handler.h" |
| 99 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" | |
| 100 #include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol.
h" | 101 #include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol.
h" |
| 101 #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.
h" | 102 |
| 102 #endif | 103 using data_reduction_proxy::DataReductionProxyParams; |
| 104 #endif // defined(SPDY_PROXY_AUTH_ORIGIN) |
| 103 | 105 |
| 104 #if defined(OS_CHROMEOS) | 106 #if defined(OS_CHROMEOS) |
| 105 #include "chrome/browser/chromeos/login/users/user_manager.h" | 107 #include "chrome/browser/chromeos/login/users/user_manager.h" |
| 106 #include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h" | 108 #include "chrome/browser/chromeos/net/cert_verify_proc_chromeos.h" |
| 107 #include "chromeos/network/host_resolver_impl_chromeos.h" | 109 #include "chromeos/network/host_resolver_impl_chromeos.h" |
| 108 #endif | 110 #endif |
| 109 | 111 |
| 110 using content::BrowserThread; | 112 using content::BrowserThread; |
| 111 | 113 |
| 112 #if defined(OS_ANDROID) || defined(OS_IOS) | |
| 113 using data_reduction_proxy::DataReductionProxyAuthRequestHandler; | |
| 114 using data_reduction_proxy::DataReductionProxyParams; | |
| 115 using data_reduction_proxy::DataReductionProxyUsageStats; | |
| 116 using data_reduction_proxy::DataReductionProxySettings; | |
| 117 #endif | |
| 118 | |
| 119 class SafeBrowsingURLRequestContext; | 114 class SafeBrowsingURLRequestContext; |
| 120 | 115 |
| 121 // The IOThread object must outlive any tasks posted to the IO thread before the | 116 // The IOThread object must outlive any tasks posted to the IO thread before the |
| 122 // Quit task, so base::Bind() calls are not refcounted. | 117 // Quit task, so base::Bind() calls are not refcounted. |
| 123 | 118 |
| 124 namespace { | 119 namespace { |
| 125 | 120 |
| 126 const char kQuicFieldTrialName[] = "QUIC"; | 121 const char kQuicFieldTrialName[] = "QUIC"; |
| 127 const char kQuicFieldTrialEnabledGroupName[] = "Enabled"; | 122 const char kQuicFieldTrialEnabledGroupName[] = "Enabled"; |
| 128 const char kQuicFieldTrialHttpsEnabledGroupName[] = "HttpsEnabled"; | 123 const char kQuicFieldTrialHttpsEnabledGroupName[] = "HttpsEnabled"; |
| (...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 | 565 |
| 571 #if defined(ENABLE_EXTENSIONS) | 566 #if defined(ENABLE_EXTENSIONS) |
| 572 globals_->extension_event_router_forwarder = | 567 globals_->extension_event_router_forwarder = |
| 573 extension_event_router_forwarder_; | 568 extension_event_router_forwarder_; |
| 574 #endif | 569 #endif |
| 575 | 570 |
| 576 ChromeNetworkDelegate* network_delegate = | 571 ChromeNetworkDelegate* network_delegate = |
| 577 new ChromeNetworkDelegate(extension_event_router_forwarder(), | 572 new ChromeNetworkDelegate(extension_event_router_forwarder(), |
| 578 &system_enable_referrers_); | 573 &system_enable_referrers_); |
| 579 | 574 |
| 575 #if defined(SPDY_PROXY_AUTH_ORIGIN) |
| 576 int drp_flags = DataReductionProxyParams::kFallbackAllowed; |
| 577 if (DataReductionProxyParams::IsIncludedInFieldTrial()) |
| 578 drp_flags |= DataReductionProxyParams::kAllowed; |
| 579 if (DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()) |
| 580 drp_flags |= DataReductionProxyParams::kAlternativeAllowed; |
| 581 data_reduction_proxy_params_.reset( |
| 582 new DataReductionProxyParams(drp_flags)); |
| 583 data_reduction_proxy_auth_request_handler_.reset( |
| 584 new data_reduction_proxy::DataReductionProxyAuthRequestHandler( |
| 585 data_reduction_proxy_params_.get())); |
| 586 |
| 587 // This is the same as in ProfileImplIOData except that we do not collect |
| 588 // usage stats. |
| 589 network_delegate->set_data_reduction_proxy_params( |
| 590 data_reduction_proxy_params_.get()); |
| 591 network_delegate->set_data_reduction_proxy_auth_request_handler( |
| 592 data_reduction_proxy_auth_request_handler_.get()); |
| 593 network_delegate->set_on_resolve_proxy_handler( |
| 594 base::Bind(data_reduction_proxy::OnResolveProxyHandler)); |
| 595 #endif // defined(SPDY_PROXY_AUTH_ORIGIN) |
| 596 |
| 580 if (command_line.HasSwitch(switches::kEnableClientHints)) | 597 if (command_line.HasSwitch(switches::kEnableClientHints)) |
| 581 network_delegate->SetEnableClientHints(); | 598 network_delegate->SetEnableClientHints(); |
| 582 | 599 |
| 583 #if defined(ENABLE_EXTENSIONS) | 600 #if defined(ENABLE_EXTENSIONS) |
| 584 if (command_line.HasSwitch(switches::kDisableExtensionsHttpThrottling)) | 601 if (command_line.HasSwitch(switches::kDisableExtensionsHttpThrottling)) |
| 585 network_delegate->NeverThrottleRequests(); | 602 network_delegate->NeverThrottleRequests(); |
| 586 #endif | 603 #endif |
| 587 | 604 |
| 588 globals_->system_network_delegate.reset(network_delegate); | 605 globals_->system_network_delegate.reset(network_delegate); |
| 589 globals_->host_resolver = CreateGlobalHostResolver(net_log_); | 606 globals_->host_resolver = CreateGlobalHostResolver(net_log_); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 632 ct_verifier->AddLog(external_log_verifier.Pass()); | 649 ct_verifier->AddLog(external_log_verifier.Pass()); |
| 633 } | 650 } |
| 634 } | 651 } |
| 635 #else | 652 #else |
| 636 if (command_line.HasSwitch(switches::kCertificateTransparencyLog)) { | 653 if (command_line.HasSwitch(switches::kCertificateTransparencyLog)) { |
| 637 LOG(DFATAL) << "Certificate Transparency is not yet supported in Chrome " | 654 LOG(DFATAL) << "Certificate Transparency is not yet supported in Chrome " |
| 638 "builds using OpenSSL."; | 655 "builds using OpenSSL."; |
| 639 } | 656 } |
| 640 #endif | 657 #endif |
| 641 globals_->ssl_config_service = GetSSLConfigService(); | 658 globals_->ssl_config_service = GetSSLConfigService(); |
| 642 #if defined(OS_ANDROID) || defined(OS_IOS) | |
| 643 #if defined(SPDY_PROXY_AUTH_ORIGIN) | |
| 644 int drp_flags = DataReductionProxyParams::kFallbackAllowed; | |
| 645 if (DataReductionProxyParams::IsIncludedInFieldTrial()) | |
| 646 drp_flags |= DataReductionProxyParams::kAllowed; | |
| 647 if (DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()) | |
| 648 drp_flags |= DataReductionProxyParams::kAlternativeAllowed; | |
| 649 if (DataReductionProxyParams::IsIncludedInPromoFieldTrial()) | |
| 650 drp_flags |= DataReductionProxyParams::kPromoAllowed; | |
| 651 DataReductionProxyParams* proxy_params = | |
| 652 new DataReductionProxyParams(drp_flags); | |
| 653 globals_->data_reduction_proxy_params.reset(proxy_params); | |
| 654 globals_->data_reduction_proxy_auth_request_handler.reset( | |
| 655 new DataReductionProxyAuthRequestHandler(proxy_params)); | |
| 656 globals_->on_resolve_proxy_handler = | |
| 657 ChromeNetworkDelegate::OnResolveProxyHandler( | |
| 658 base::Bind(data_reduction_proxy::OnResolveProxyHandler)); | |
| 659 DataReductionProxyUsageStats* proxy_usage_stats = | |
| 660 new DataReductionProxyUsageStats(proxy_params, | |
| 661 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI), | |
| 662 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); | |
| 663 network_delegate->set_data_reduction_proxy_params(proxy_params); | |
| 664 globals_->data_reduction_proxy_usage_stats.reset(proxy_usage_stats); | |
| 665 network_delegate->set_data_reduction_proxy_usage_stats(proxy_usage_stats); | |
| 666 network_delegate->set_data_reduction_proxy_auth_request_handler( | |
| 667 globals_->data_reduction_proxy_auth_request_handler.get()); | |
| 668 network_delegate->set_on_resolve_proxy_handler( | |
| 669 globals_->on_resolve_proxy_handler); | |
| 670 #endif // defined(SPDY_PROXY_AUTH_ORIGIN) | |
| 671 #endif // defined(OS_ANDROID) || defined(OS_IOS) | |
| 672 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( | 659 globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
| 673 globals_->host_resolver.get())); | 660 globals_->host_resolver.get())); |
| 674 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl()); | 661 globals_->http_server_properties.reset(new net::HttpServerPropertiesImpl()); |
| 675 // For the ProxyScriptFetcher, we use a direct ProxyService. | 662 // For the ProxyScriptFetcher, we use a direct ProxyService. |
| 676 globals_->proxy_script_fetcher_proxy_service.reset( | 663 globals_->proxy_script_fetcher_proxy_service.reset( |
| 677 net::ProxyService::CreateDirectWithNetLog(net_log_)); | 664 net::ProxyService::CreateDirectWithNetLog(net_log_)); |
| 678 // In-memory cookie store. | 665 // In-memory cookie store. |
| 679 globals_->system_cookie_store = | 666 globals_->system_cookie_store = |
| 680 content::CreateCookieStore(content::CookieStoreConfig()); | 667 content::CreateCookieStore(content::CookieStoreConfig()); |
| 681 // In-memory server bound cert store. | 668 // In-memory server bound cert store. |
| (...skipping 699 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1381 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); | 1368 net::QuicVersionVector supported_versions = net::QuicSupportedVersions(); |
| 1382 for (size_t i = 0; i < supported_versions.size(); ++i) { | 1369 for (size_t i = 0; i < supported_versions.size(); ++i) { |
| 1383 net::QuicVersion version = supported_versions[i]; | 1370 net::QuicVersion version = supported_versions[i]; |
| 1384 if (net::QuicVersionToString(version) == quic_version) { | 1371 if (net::QuicVersionToString(version) == quic_version) { |
| 1385 return version; | 1372 return version; |
| 1386 } | 1373 } |
| 1387 } | 1374 } |
| 1388 | 1375 |
| 1389 return net::QUIC_VERSION_UNSUPPORTED; | 1376 return net::QUIC_VERSION_UNSUPPORTED; |
| 1390 } | 1377 } |
| OLD | NEW |