summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser')
-rw-r--r--chrome/browser/io_thread.cc31
-rw-r--r--chrome/browser/io_thread.h4
-rw-r--r--chrome/browser/net/predictor.cc4
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.cc18
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator.h3
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_configurator_unittest.cc34
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc74
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h25
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.cc63
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_settings_factory_android.h47
-rw-r--r--chrome/browser/net/spdyproxy/data_reduction_proxy_settings_unittest_android.cc29
-rw-r--r--chrome/browser/net/spdyproxy/proxy_advisor.cc9
-rw-r--r--chrome/browser/profiles/profile_impl_io_data.cc5
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