Index: chrome/browser/io_thread.cc |
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc |
index 6893de8ce4dbc79f20e8766781c2043ddf600e04..96e327dceefa293509e2ba3f5055e75d179a2ca5 100644 |
--- a/chrome/browser/io_thread.cc |
+++ b/chrome/browser/io_thread.cc |
@@ -95,6 +95,7 @@ |
#endif |
#if defined(OS_ANDROID) || defined(OS_IOS) |
+#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" |
#include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" |
#endif |
@@ -106,6 +107,7 @@ |
using content::BrowserThread; |
#if defined(OS_ANDROID) || defined(OS_IOS) |
+using data_reduction_proxy::DataReductionProxyParams; |
using data_reduction_proxy::DataReductionProxySettings; |
#endif |
@@ -595,10 +597,17 @@ void IOThread::InitAsync() { |
#endif |
globals_->ssl_config_service = GetSSLConfigService(); |
#if defined(OS_ANDROID) || defined(OS_IOS) |
- if (DataReductionProxySettings::IsIncludedInFieldTrialOrFlags()) { |
- spdyproxy_auth_origins_ = |
- DataReductionProxySettings::GetDataReductionProxies(); |
- } |
+#if defined(SPDY_PROXY_AUTH_ORIGIN) |
+ int drp_flags = DataReductionProxyParams::kFallbackAllowed; |
+ if (DataReductionProxyParams::IsIncludedInFieldTrial()) |
+ drp_flags |= DataReductionProxyParams::kAllowed; |
+ if (DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()) |
+ drp_flags |= DataReductionProxyParams::kAlternativeAllowed; |
+ if (DataReductionProxyParams::IsIncludedInPromoFieldTrial()) |
+ drp_flags |= DataReductionProxyParams::kPromoAllowed; |
+ globals_->data_reduction_proxy_params.reset( |
+ new DataReductionProxyParams(drp_flags)); |
+#endif // defined(SPDY_PROXY_AUTH_ORIGIN) |
#endif // defined(OS_ANDROID) || defined(OS_IOS) |
globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( |
globals_->host_resolver.get())); |
@@ -901,11 +910,15 @@ net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( |
resolver, gssapi_library_name_, negotiate_disable_cname_lookup_, |
negotiate_enable_port_)); |
- if (!spdyproxy_auth_origins_.empty()) { |
- registry_factory->RegisterSchemeFactory( |
- "spdyproxy", |
- new data_reduction_proxy::HttpAuthHandlerDataReductionProxy::Factory( |
- spdyproxy_auth_origins_)); |
+ if (globals_->data_reduction_proxy_params.get()) { |
+ std::vector<GURL> data_reduction_proxies = |
+ globals_->data_reduction_proxy_params->GetAllowedProxies(); |
+ if (!data_reduction_proxies.empty()) { |
+ registry_factory->RegisterSchemeFactory( |
+ "spdyproxy", |
+ new data_reduction_proxy::HttpAuthHandlerDataReductionProxy::Factory( |
+ data_reduction_proxies)); |
+ } |
} |
return registry_factory.release(); |