diff options
Diffstat (limited to 'chrome/browser')
13 files changed, 80 insertions, 266 deletions
diff --git a/chrome/browser/io_thread.cc b/chrome/browser/io_thread.cc index 96e327d..6893de8 100644 --- a/chrome/browser/io_thread.cc +++ b/chrome/browser/io_thread.cc @@ -95,7 +95,6 @@ #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 @@ -107,7 +106,6 @@ using content::BrowserThread; #if defined(OS_ANDROID) || defined(OS_IOS) -using data_reduction_proxy::DataReductionProxyParams; using data_reduction_proxy::DataReductionProxySettings; #endif @@ -597,17 +595,10 @@ void IOThread::InitAsync() { #endif globals_->ssl_config_service = GetSSLConfigService(); #if defined(OS_ANDROID) || defined(OS_IOS) -#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) + if (DataReductionProxySettings::IsIncludedInFieldTrialOrFlags()) { + spdyproxy_auth_origins_ = + DataReductionProxySettings::GetDataReductionProxies(); + } #endif // defined(OS_ANDROID) || defined(OS_IOS) globals_->http_auth_handler_factory.reset(CreateDefaultAuthHandlerFactory( globals_->host_resolver.get())); @@ -910,15 +901,11 @@ net::HttpAuthHandlerFactory* IOThread::CreateDefaultAuthHandlerFactory( resolver, gssapi_library_name_, negotiate_disable_cname_lookup_, negotiate_enable_port_)); - 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)); - } + if (!spdyproxy_auth_origins_.empty()) { + registry_factory->RegisterSchemeFactory( + "spdyproxy", + new data_reduction_proxy::HttpAuthHandlerDataReductionProxy::Factory( + spdyproxy_auth_origins_)); } return registry_factory.release(); diff --git a/chrome/browser/io_thread.h b/chrome/browser/io_thread.h index 8c991b7..6feb064 100644 --- a/chrome/browser/io_thread.h +++ b/chrome/browser/io_thread.h @@ -16,7 +16,6 @@ #include "base/prefs/pref_member.h" #include "base/time/time.h" #include "chrome/browser/net/ssl_config_service_manager.h" -#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/browser_thread_delegate.h" #include "net/base/network_change_notifier.h" @@ -182,8 +181,6 @@ class IOThread : public content::BrowserThreadDelegate { // main frame load fails with a DNS error in order to provide more useful // information to the renderer so it can show a more specific error page. scoped_ptr<chrome_browser_net::DnsProbeService> dns_probe_service; - scoped_ptr<data_reduction_proxy::DataReductionProxyParams> - data_reduction_proxy_params; }; // |net_log| must either outlive the IOThread or be NULL. @@ -351,6 +348,7 @@ class IOThread : public content::BrowserThreadDelegate { std::string auth_server_whitelist_; std::string auth_delegate_whitelist_; std::string gssapi_library_name_; + std::vector<GURL> spdyproxy_auth_origins_; // This is an instance of the default SSLConfigServiceManager for the current // platform and it gets SSL preferences from local_state object. diff --git a/chrome/browser/net/predictor.cc b/chrome/browser/net/predictor.cc index 74b1c8a..6c4121f 100644 --- a/chrome/browser/net/predictor.cc +++ b/chrome/browser/net/predictor.cc @@ -337,8 +337,8 @@ void Predictor::InitNetworkPredictor(PrefService* user_prefs, // Until then, we may create a proxy advisor when the proxy feature itself // isn't available, and the advisor instance will never send advisory // requests, which is slightly wasteful but not harmful. - if (data_reduction_proxy::DataReductionProxyParams:: - IsIncludedInPreconnectHintingFieldTrial()) { + if (data_reduction_proxy::DataReductionProxySettings:: + IsPreconnectHintingAllowed()) { proxy_advisor_.reset(new ProxyAdvisor(user_prefs, getter)); } #endif diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc index 1201cf0..25cc7e4 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc @@ -18,12 +18,10 @@ DataReductionProxyChromeConfigurator::DataReductionProxyChromeConfigurator( DataReductionProxyChromeConfigurator::~DataReductionProxyChromeConfigurator() { } -void DataReductionProxyChromeConfigurator::Enable( - bool primary_restricted, - bool fallback_restricted, - const std::string& primary_origin, - const std::string& fallback_origin, - const std::string& ssl_origin) { +void DataReductionProxyChromeConfigurator::Enable(bool primary_restricted, + bool fallback_restricted, + const std::string& primary_origin, + const std::string& fallback_origin) { DCHECK(prefs_); DictionaryPrefUpdate update(prefs_, prefs::kProxy); base::DictionaryValue* dict = update.Get(); @@ -51,13 +49,7 @@ void DataReductionProxyChromeConfigurator::Enable( return; } - std::string trimmed_ssl; - base::TrimString(ssl_origin, "/", &trimmed_ssl); - - std::string server = "http=" + JoinString(proxies, ",") + ",direct://;" - + (ssl_origin.empty() ? "" : ("https=" + trimmed_ssl + ",direct://;")); - - dict->SetString("server", server); + dict->SetString("server", "http=" + JoinString(proxies, ",") + ",direct://;"); dict->SetString("mode", ProxyModeToString(ProxyPrefs::MODE_FIXED_SERVERS)); dict->SetString("bypass_list", JoinString(bypass_rules_, ", ")); } diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h index 8efc3ed..e23efbe 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h @@ -22,8 +22,7 @@ class DataReductionProxyChromeConfigurator virtual void Enable(bool primary_restricted, bool fallback_restricted, const std::string& primary_origin, - const std::string& fallback_origin, - const std::string& ssl_origin) OVERRIDE; + const std::string& fallback_origin) OVERRIDE; virtual void Disable() OVERRIDE; // Add a host pattern to bypass. This should follow the same syntax used diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc index eb56ef5..a8ef6dc 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc @@ -48,35 +48,19 @@ TEST_F(DataReductionProxyConfigTest, TestUnrestricted) { config_->Enable(false, false, "https://www.foo.com:443/", - "http://www.bar.com:80/", - ""); + "http://www.bar.com:80/"); CheckProxyConfig( "fixed_servers", "http=https://www.foo.com:443,http://www.bar.com:80,direct://;", ""); } - -TEST_F(DataReductionProxyConfigTest, TestUnrestrictedSSL) { - config_->Enable(false, - false, - "https://www.foo.com:443/", - "http://www.bar.com:80/", - "http://www.ssl.com:80/"); - CheckProxyConfig( - "fixed_servers", - "http=https://www.foo.com:443,http://www.bar.com:80,direct://;" - "https=http://www.ssl.com:80,direct://;", - ""); -} - TEST_F(DataReductionProxyConfigTest, TestUnrestrictedWithBypassRule) { config_->AddHostPatternToBypass("<local>"); config_->AddHostPatternToBypass("*.goo.com"); config_->Enable(false, false, "https://www.foo.com:443/", - "http://www.bar.com:80/", - ""); + "http://www.bar.com:80/"); CheckProxyConfig( "fixed_servers", "http=https://www.foo.com:443,http://www.bar.com:80,direct://;", @@ -84,7 +68,10 @@ TEST_F(DataReductionProxyConfigTest, TestUnrestrictedWithBypassRule) { } TEST_F(DataReductionProxyConfigTest, TestUnrestrictedWithoutFallback) { - config_->Enable(false, false, "https://www.foo.com:443/", "", ""); + config_->Enable(false, + false, + "https://www.foo.com:443/", + ""); CheckProxyConfig("fixed_servers", "http=https://www.foo.com:443,direct://;", ""); @@ -94,8 +81,7 @@ TEST_F(DataReductionProxyConfigTest, TestRestricted) { config_->Enable(true, false, "https://www.foo.com:443/", - "http://www.bar.com:80/", - ""); + "http://www.bar.com:80/"); CheckProxyConfig("fixed_servers", "http=http://www.bar.com:80,direct://;", ""); @@ -105,8 +91,7 @@ TEST_F(DataReductionProxyConfigTest, TestFallbackRestricted) { config_->Enable(false, true, "https://www.foo.com:443/", - "http://www.bar.com:80/", - ""); + "http://www.bar.com:80/"); CheckProxyConfig("fixed_servers", "http=https://www.foo.com:443,direct://;", ""); @@ -116,8 +101,7 @@ TEST_F(DataReductionProxyConfigTest, TestBothRestricted) { config_->Enable(true, true, "https://www.foo.com:443/", - "http://www.bar.com:80/", - ""); + "http://www.bar.com:80/"); CheckProxyConfig("system", "", ""); } diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc index 211ff61..7cba6e3 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc @@ -18,14 +18,12 @@ #include "base/strings/utf_string_conversions.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h" -#include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h" #include "chrome/browser/prefs/proxy_prefs.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_configurator.h" -#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" #include "jni/DataReductionProxySettings_jni.h" #include "net/base/auth.h" @@ -41,7 +39,6 @@ using base::android::ConvertJavaStringToUTF8; using base::android::ConvertUTF16ToJavaString; using base::android::ConvertUTF8ToJavaString; using base::android::ScopedJavaLocalRef; -using data_reduction_proxy::DataReductionProxyParams; using data_reduction_proxy::DataReductionProxySettings; namespace { @@ -58,20 +55,33 @@ enum { NUM_SPDY_PROXY_AUTH_STATE }; +const char kEnabled[] = "Enabled"; + } // namespace DataReductionProxySettingsAndroid::DataReductionProxySettingsAndroid( - data_reduction_proxy::DataReductionProxyParams* params) - : DataReductionProxySettings(params) { + JNIEnv* env, jobject obj) : DataReductionProxySettings() { +#if defined(SPDY_PROXY_AUTH_VALUE) + set_key(SPDY_PROXY_AUTH_VALUE); +#endif + SetAllowed(IsIncludedInFieldTrialOrFlags()); + SetPromoAllowed(base::FieldTrialList::FindFullName( + "DataCompressionProxyPromoVisibility") == kEnabled); +} + +DataReductionProxySettingsAndroid::DataReductionProxySettingsAndroid() { +#if defined(SPDY_PROXY_AUTH_VALUE) + set_key(SPDY_PROXY_AUTH_VALUE); +#endif } DataReductionProxySettingsAndroid::~DataReductionProxySettingsAndroid() { } void DataReductionProxySettingsAndroid::InitDataReductionProxySettings( - Profile* profile) { - DCHECK(profile); - PrefService* prefs = profile->GetPrefs(); + JNIEnv* env, + jobject obj) { + PrefService* prefs = ProfileManager::GetActiveUserProfile()->GetPrefs(); scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator> configurator(new DataReductionProxyChromeConfigurator(prefs)); @@ -80,34 +90,33 @@ void DataReductionProxySettingsAndroid::InitDataReductionProxySettings( prefs, g_browser_process->local_state(), ProfileManager::GetActiveUserProfile()->GetRequestContext()); - DataReductionProxySettings::SetDataReductionProxyAlternativeEnabled( - DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()); } void DataReductionProxySettingsAndroid::BypassHostPattern( JNIEnv* env, jobject obj, jstring pattern) { - configurator()->AddHostPatternToBypass( + config()->AddHostPatternToBypass( ConvertJavaStringToUTF8(env, pattern)); } void DataReductionProxySettingsAndroid::BypassURLPattern( JNIEnv* env, jobject obj, jstring pattern) { - configurator()->AddURLPatternToBypass(ConvertJavaStringToUTF8(env, pattern)); + config()->AddURLPatternToBypass(ConvertJavaStringToUTF8(env, pattern)); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyAllowed( JNIEnv* env, jobject obj) { - return params()->allowed(); + return DataReductionProxySettings::IsDataReductionProxyAllowed(); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyPromoAllowed( JNIEnv* env, jobject obj) { - return params()->promo_allowed(); + return DataReductionProxySettings::IsDataReductionProxyPromoAllowed(); } ScopedJavaLocalRef<jstring> DataReductionProxySettingsAndroid::GetDataReductionProxyOrigin( JNIEnv* env, jobject obj) { - return ConvertUTF8ToJavaString(env, params()->origin().spec()); + return ConvertUTF8ToJavaString( + env, DataReductionProxySettings::GetDataReductionProxyOrigin()); } jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyEnabled( @@ -201,38 +210,26 @@ void DataReductionProxySettingsAndroid::AddDefaultProxyBypassRules() { DataReductionProxySettings::AddDefaultProxyBypassRules(); // Chrome cannot authenticate with the data reduction proxy when fetching URLs // from the settings menu. - configurator()->AddURLPatternToBypass( - "http://www.google.com/policies/privacy*"); + config()->AddURLPatternToBypass("http://www.google.com/policies/privacy*"); } -void DataReductionProxySettingsAndroid::SetProxyConfigs( - bool enabled, - bool alternative_enabled, - bool restricted, - bool at_startup) { +void DataReductionProxySettingsAndroid::SetProxyConfigs(bool enabled, + bool restricted, + bool at_startup) { // Sanity check: If there's no fallback proxy, we can't do a restricted mode. - std::string fallback = params()->fallback_origin().spec(); + std::string fallback = GetDataReductionProxyFallback(); if (fallback.empty() && enabled && restricted) enabled = false; LogProxyState(enabled, restricted, at_startup); if (enabled) { - if (alternative_enabled) { - configurator()->Enable(restricted, - !params()->fallback_allowed(), - params()->alt_origin().spec(), - params()->alt_fallback_origin().spec(), - params()->ssl_origin().spec()); - } else { - configurator()->Enable(restricted, - !params()->fallback_allowed(), - params()->origin().spec(), - params()->fallback_origin().spec(), - std::string()); - } + config()->Enable(restricted, + !fallback_allowed(), + DataReductionProxySettings::GetDataReductionProxyOrigin(), + GetDataReductionProxyFallback()); } else { - configurator()->Disable(); + config()->Disable(); } } @@ -259,7 +256,6 @@ DataReductionProxySettingsAndroid::GetDailyContentLengths( // Used by generated jni code. static jlong Init(JNIEnv* env, jobject obj) { DataReductionProxySettingsAndroid* settings = - DataReductionProxySettingsFactoryAndroid::GetForBrowserContext( - ProfileManager::GetActiveUserProfile()); + new DataReductionProxySettingsAndroid(env, obj); return reinterpret_cast<intptr_t>(settings); } diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h index 7df436f..4106192 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h @@ -14,31 +14,24 @@ #include "base/memory/scoped_ptr.h" #include "base/prefs/pref_member.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" -#include "components/keyed_service/core/keyed_service.h" -using base::android::ScopedJavaLocalRef; -class Profile; +using base::android::ScopedJavaLocalRef; -namespace data_reduction_proxy { -class DataReductionProxyParams; -} // Central point for configuring the data reduction proxy on Android. // This object lives on the UI thread and all of its methods are expected to // be called from there. class DataReductionProxySettingsAndroid - : public data_reduction_proxy::DataReductionProxySettings, - public KeyedService { + : public data_reduction_proxy::DataReductionProxySettings { public: - // Factory constructor. - DataReductionProxySettingsAndroid( - data_reduction_proxy::DataReductionProxyParams* params); - + DataReductionProxySettingsAndroid(JNIEnv* env, jobject obj); + // Parameter-free constructor for C++ unit tests. + DataReductionProxySettingsAndroid(); virtual ~DataReductionProxySettingsAndroid(); - void InitDataReductionProxySettings(Profile* profile); + void InitDataReductionProxySettings(JNIEnv* env, jobject obj); void BypassHostPattern(JNIEnv* env, jobject obj, jstring pattern); // Add a URL pattern to bypass the proxy. Wildcards @@ -89,10 +82,8 @@ class DataReductionProxySettingsAndroid // Configures the proxy settings by generating a data URL containing a PAC // file. - virtual void SetProxyConfigs(bool enabled, - bool alt_enabled, - bool restricted, - bool at_startup) OVERRIDE; + virtual void SetProxyConfigs( + bool enabled, bool restricted, bool at_startup) OVERRIDE; private: friend class DataReductionProxySettingsAndroidTest; diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.cc deleted file mode 100644 index 1cda259..0000000 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.cc +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h" -#include "base/memory/singleton.h" -#include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h" -#include "chrome/browser/profiles/profile.h" -#include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" -#include "components/keyed_service/content/browser_context_dependency_manager.h" -#include "components/keyed_service/content/browser_context_keyed_service_factory.h" - -// static -DataReductionProxySettingsAndroid* -DataReductionProxySettingsFactoryAndroid::GetForBrowserContext( - content::BrowserContext* context) { - return static_cast<DataReductionProxySettingsAndroid*>( - GetInstance()->GetServiceForBrowserContext(context, true)); -} - -// static -bool DataReductionProxySettingsFactoryAndroid:: -HasDataReductionProxySettingsAndroid( - content::BrowserContext* context) { - return GetInstance()->GetServiceForBrowserContext(context, false) != NULL; -} - -// static -DataReductionProxySettingsFactoryAndroid* -DataReductionProxySettingsFactoryAndroid::GetInstance() { - return Singleton<DataReductionProxySettingsFactoryAndroid>::get(); -} - - -DataReductionProxySettingsFactoryAndroid:: -DataReductionProxySettingsFactoryAndroid() - : BrowserContextKeyedServiceFactory( - "ProfileSyncService", - BrowserContextDependencyManager::GetInstance()) { -} - -DataReductionProxySettingsFactoryAndroid:: -~DataReductionProxySettingsFactoryAndroid() { -} - -KeyedService* DataReductionProxySettingsFactoryAndroid::BuildServiceInstanceFor( - content::BrowserContext* context) const { - Profile* profile = static_cast<Profile*>(context); - int flags = DataReductionProxyParams::kFallbackAllowed; - if (DataReductionProxyParams::IsIncludedInFieldTrial()) - flags |= DataReductionProxyParams::kAllowed; - if (DataReductionProxyParams::IsIncludedInAlternativeFieldTrial()) - flags |= DataReductionProxyParams::kAlternativeAllowed; - if (DataReductionProxyParams::IsIncludedInPromoFieldTrial()) - flags |= DataReductionProxyParams::kPromoAllowed; - - DataReductionProxySettingsAndroid* settings = - new DataReductionProxySettingsAndroid( - new DataReductionProxyParams(flags)); - settings->InitDataReductionProxySettings(profile); - return settings; -} - diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h deleted file mode 100644 index 272f56b..0000000 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h +++ /dev/null @@ -1,47 +0,0 @@ -// Copyright 2014 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_ -#define CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_ - -#include "base/compiler_specific.h" -#include "base/memory/singleton.h" -#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" -#include "components/keyed_service/content/browser_context_keyed_service_factory.h" - -namespace content { -class BrowserContext; -} - -using data_reduction_proxy::DataReductionProxyParams; - -class DataReductionProxySettingsAndroid; - -// BrowserContextKeyedServiceFactory for generating/retrieving -// DataReductionProxyService instances. -class DataReductionProxySettingsFactoryAndroid - : public BrowserContextKeyedServiceFactory { - public: - static DataReductionProxySettingsAndroid* GetForBrowserContext( - content::BrowserContext* context); - - static bool HasDataReductionProxySettingsAndroid( - content::BrowserContext* context); - - static DataReductionProxySettingsFactoryAndroid* GetInstance(); - - private: - friend struct DefaultSingletonTraits< - DataReductionProxySettingsFactoryAndroid>; - - DataReductionProxySettingsFactoryAndroid(); - - virtual ~DataReductionProxySettingsFactoryAndroid(); - - // BrowserContextKeyedServiceFactory: - virtual KeyedService* BuildServiceInstanceFor( - content::BrowserContext* context) const OVERRIDE; -}; - -#endif // CHROME_BROWSER_NET_SPDYPROXY_DATA_REDUCTION_PROXY_SETTINGS_FACTORY_ANDROID_H_ diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc index 65d97d9..0416461 100644 --- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc +++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc @@ -26,19 +26,9 @@ const char kDataReductionProxyOrigin[] = "https://foo.com:443/"; const char kDataReductionProxyDev[] = "http://foo-dev.com:80"; template <class C> -void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings( - bool allowed, bool fallback_allowed, bool alt_allowed, bool promo_allowed) { - int flags = 0; - if (allowed) - flags |= DataReductionProxyParams::kAllowed; - if (fallback_allowed) - flags |= DataReductionProxyParams::kFallbackAllowed; - if (alt_allowed) - flags |= DataReductionProxyParams::kAlternativeAllowed; - if (promo_allowed) - flags |= DataReductionProxyParams::kPromoAllowed; +void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings() { MockDataReductionProxySettings<C>* settings = - new MockDataReductionProxySettings<C>(flags); + new MockDataReductionProxySettings<C>; EXPECT_CALL(*settings, GetOriginalProfilePrefs()) .Times(AnyNumber()) .WillRepeatedly(Return(&pref_service_)); @@ -78,10 +68,7 @@ void data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult( template void data_reduction_proxy::DataReductionProxySettingsTestBase::ResetSettings< - DataReductionProxySettingsAndroid>(bool allowed, - bool fallback_allowed, - bool alt_allowed, - bool promo_allowed); + DataReductionProxySettingsAndroid>(); template void data_reduction_proxy::DataReductionProxySettingsTestBase::SetProbeResult< @@ -99,7 +86,6 @@ class DataReductionProxySettingsAndroidTest virtual void SetUp() OVERRIDE { env_ = base::android::AttachCurrentThread(); DataReductionProxySettingsAndroid::Register(env_); - DataReductionProxySettingsTestBase::AddProxyToCommandLine(); DataReductionProxySettingsTestBase::SetUp(); } @@ -111,27 +97,26 @@ class DataReductionProxySettingsAndroidTest }; TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyOrigin) { + AddProxyToCommandLine(); // SetUp() adds the origin to the command line, which should be returned here. ScopedJavaLocalRef<jstring> result = Settings()->GetDataReductionProxyOrigin(env_, NULL); ASSERT_TRUE(result.obj()); const base::android::JavaRef<jstring>& str_ref = result; - EXPECT_EQ(GURL(kDataReductionProxyOrigin), - GURL(ConvertJavaStringToUTF8(str_ref))); + EXPECT_EQ(kDataReductionProxyOrigin, ConvertJavaStringToUTF8(str_ref)); } TEST_F(DataReductionProxySettingsAndroidTest, TestGetDataReductionProxyDevOrigin) { + AddProxyToCommandLine(); CommandLine::ForCurrentProcess()->AppendSwitchASCII( data_reduction_proxy::switches::kDataReductionProxyDev, kDataReductionProxyDev); - ResetSettings(true, true, false, true); ScopedJavaLocalRef<jstring> result = Settings()->GetDataReductionProxyOrigin(env_, NULL); ASSERT_TRUE(result.obj()); const base::android::JavaRef<jstring>& str_ref = result; - EXPECT_EQ(GURL(kDataReductionProxyDev), - GURL(ConvertJavaStringToUTF8(str_ref))); + EXPECT_EQ(kDataReductionProxyDev, ConvertJavaStringToUTF8(str_ref)); } TEST_F(DataReductionProxySettingsAndroidTest, TestGetDailyContentLengths) { diff --git a/chrome/browser/net/spdyproxy/proxy_advisor.cc b/chrome/browser/net/spdyproxy/proxy_advisor.cc index 3f219a8..f15851a 100644 --- a/chrome/browser/net/spdyproxy/proxy_advisor.cc +++ b/chrome/browser/net/spdyproxy/proxy_advisor.cc @@ -11,7 +11,6 @@ #include "base/stl_util.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" -#include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" #include "components/data_reduction_proxy/browser/data_reduction_proxy_settings.h" #include "content/public/browser/browser_thread.h" #include "net/base/load_flags.h" @@ -22,8 +21,6 @@ #include "net/url_request/url_request_context.h" #include "net/url_request/url_request_context_getter.h" -// TODO(marq): Remove this class because it is not being used. - // Ensure data reduction features are available. #if !defined(OS_ANDROID) && !defined(OS_IOS) #error proxy_advisor should only be included in Android or iOS builds. @@ -122,12 +119,8 @@ void ProxyAdvisor::Advise( std::string motivation_name(MotivationName(motivation, is_preconnect)); std::string header_value = motivation_name + " " + url.spec(); net::URLRequestContext* context = context_getter_->GetURLRequestContext(); - data_reduction_proxy::DataReductionProxyParams params( - data_reduction_proxy::DataReductionProxyParams::kAllowed | - data_reduction_proxy::DataReductionProxyParams::kFallbackAllowed | - data_reduction_proxy::DataReductionProxyParams::kPromoAllowed); std::string endpoint = - params.origin().spec() + "preconnect"; + DataReductionProxySettings::GetDataReductionProxyOrigin() + "preconnect"; scoped_ptr<net::URLRequest> request = context->CreateRequest( GURL(endpoint), net::DEFAULT_PRIORITY, this, NULL); request->set_method("HEAD"); diff --git a/chrome/browser/profiles/profile_impl_io_data.cc b/chrome/browser/profiles/profile_impl_io_data.cc index edfcf62..915f5c3 100644 --- a/chrome/browser/profiles/profile_impl_io_data.cc +++ b/chrome/browser/profiles/profile_impl_io_data.cc @@ -484,9 +484,8 @@ void ProfileImplIOData::InitializeInternal( #if defined(OS_ANDROID) || defined(OS_IOS) #if defined(SPDY_PROXY_AUTH_VALUE) data_reduction_proxy::DataReductionProxySettings:: - InitDataReductionProxySession( - main_cache->GetSession(), - io_thread_globals->data_reduction_proxy_params.get()); + InitDataReductionProxySession(main_cache->GetSession(), + SPDY_PROXY_AUTH_VALUE); #endif #endif |