Index: chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc |
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 479dce65fc4bcbeddb6fc6c6671273dd4758f0a8..9fa686dc5f57d4c8349a034fa63cc3a4ed464abb 100644 |
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc |
+++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc |
@@ -4,104 +4,39 @@ |
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h" |
-#include "base/android/build_info.h" |
#include "base/android/jni_android.h" |
#include "base/android/jni_string.h" |
-#include "base/bind.h" |
-#include "base/command_line.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/metrics/field_trial.h" |
-#include "base/metrics/histogram.h" |
-#include "base/prefs/pref_member.h" |
-#include "base/prefs/pref_service.h" |
-#include "base/strings/string_number_conversions.h" |
-#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/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
+#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.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 "components/data_reduction_proxy/browser/data_reduction_proxy_usage_stats.h" |
#include "jni/DataReductionProxySettings_jni.h" |
-#include "net/base/auth.h" |
-#include "net/base/host_port_pair.h" |
-#include "net/base/load_flags.h" |
-#include "net/base/net_errors.h" |
-#include "net/url_request/url_fetcher.h" |
-#include "net/url_request/url_fetcher_delegate.h" |
-#include "net/url_request/url_request_status.h" |
- |
-using base::android::CheckException; |
-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 { |
- |
-// The C++ definition of enum SpdyProxyAuthState defined in |
-// tools/histograms/histograms.xml. |
-// New values should be added at the end before |NUM_SPDY_PROXY_AUTH_STATE|. |
-enum { |
- CHROME_STARTUP, |
- SPDY_PROXY_AUTH_ON_AT_STARTUP, |
- SPDY_PROXY_AUTH_ON_BY_USER, |
- SPDY_PROXY_AUTH_OFF_BY_USER, |
- // Used by UMA histograms and should always be the last value. |
- NUM_SPDY_PROXY_AUTH_STATE |
-}; |
- |
-} // namespace |
- |
-DataReductionProxySettingsAndroid::DataReductionProxySettingsAndroid( |
- data_reduction_proxy::DataReductionProxyParams* params) |
- : DataReductionProxySettings(params) { |
+DataReductionProxySettingsAndroid::DataReductionProxySettingsAndroid() { |
} |
DataReductionProxySettingsAndroid::~DataReductionProxySettingsAndroid() { |
} |
-void DataReductionProxySettingsAndroid::InitDataReductionProxySettings( |
- Profile* profile) { |
- DCHECK(profile); |
- PrefService* prefs = profile->GetPrefs(); |
- |
- scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator> |
- configurator(new DataReductionProxyChromeConfigurator(prefs)); |
- SetProxyConfigurator(configurator.Pass()); |
- DataReductionProxySettings::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( |
- ConvertJavaStringToUTF8(env, pattern)); |
-} |
-void DataReductionProxySettingsAndroid::BypassURLPattern( |
- JNIEnv* env, jobject obj, jstring pattern) { |
- configurator()->AddURLPatternToBypass(ConvertJavaStringToUTF8(env, pattern)); |
-} |
- |
jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyAllowed( |
JNIEnv* env, jobject obj) { |
- return params()->allowed(); |
+ return Settings()->params()->allowed(); |
} |
jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyPromoAllowed( |
JNIEnv* env, jobject obj) { |
- return params()->promo_allowed(); |
+ return Settings()->params()->promo_allowed(); |
} |
jboolean DataReductionProxySettingsAndroid::IsIncludedInAltFieldTrial( |
@@ -112,29 +47,29 @@ jboolean DataReductionProxySettingsAndroid::IsIncludedInAltFieldTrial( |
ScopedJavaLocalRef<jstring> |
DataReductionProxySettingsAndroid::GetDataReductionProxyOrigin( |
JNIEnv* env, jobject obj) { |
- return ConvertUTF8ToJavaString(env, params()->origin().spec()); |
+ return ConvertUTF8ToJavaString(env, Settings()->params()->origin().spec()); |
} |
jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyEnabled( |
JNIEnv* env, jobject obj) { |
- return DataReductionProxySettings::IsDataReductionProxyEnabled(); |
+ return Settings()->IsDataReductionProxyEnabled(); |
} |
jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyManaged( |
JNIEnv* env, jobject obj) { |
- return DataReductionProxySettings::IsDataReductionProxyManaged(); |
+ return Settings()->IsDataReductionProxyManaged(); |
} |
void DataReductionProxySettingsAndroid::SetDataReductionProxyEnabled( |
JNIEnv* env, |
jobject obj, |
jboolean enabled) { |
- DataReductionProxySettings::SetDataReductionProxyEnabled(enabled); |
+ Settings()->SetDataReductionProxyEnabled(enabled); |
} |
jlong DataReductionProxySettingsAndroid::GetDataReductionLastUpdateTime( |
JNIEnv* env, jobject obj) { |
- return DataReductionProxySettings::GetDataReductionLastUpdateTime(); |
+ return Settings()->GetDataReductionLastUpdateTime(); |
} |
base::android::ScopedJavaLocalRef<jobject> |
@@ -143,7 +78,7 @@ DataReductionProxySettingsAndroid::GetContentLengths(JNIEnv* env, |
int64 original_content_length; |
int64 received_content_length; |
int64 last_update_internal; |
- DataReductionProxySettings::GetContentLengths( |
+ Settings()->GetContentLengths( |
data_reduction_proxy::kNumDaysInHistorySummary, |
&original_content_length, |
&received_content_length, |
@@ -170,8 +105,7 @@ DataReductionProxySettingsAndroid::GetDailyReceivedContentLengths( |
jboolean DataReductionProxySettingsAndroid::IsDataReductionProxyUnreachable( |
JNIEnv* env, jobject obj) { |
- DCHECK(usage_stats()); |
- return usage_stats()->isDataReductionProxyUnreachable(); |
+ return Settings()->IsDataReductionProxyUnreachable(); |
} |
// static |
@@ -180,45 +114,6 @@ bool DataReductionProxySettingsAndroid::Register(JNIEnv* env) { |
return register_natives_impl_result; |
} |
-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*"); |
-} |
- |
-void DataReductionProxySettingsAndroid::SetProxyConfigs( |
- bool enabled, |
- bool alternative_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(); |
- if (fallback.empty() && enabled && restricted) |
- enabled = false; |
- |
- LogProxyState(enabled, restricted, at_startup); |
- |
- if (enabled && !params()->holdback()) { |
- 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()); |
- } |
- } else { |
- configurator()->Disable(); |
- } |
-} |
- |
ScopedJavaLocalRef<jlongArray> |
DataReductionProxySettingsAndroid::GetDailyContentLengths( |
JNIEnv* env, const char* pref_name) { |
@@ -226,7 +121,7 @@ DataReductionProxySettingsAndroid::GetDailyContentLengths( |
data_reduction_proxy::kNumDaysInHistory); |
DataReductionProxySettings::ContentLengthList lengths = |
- DataReductionProxySettings::GetDailyContentLengths(pref_name); |
+ Settings()->GetDailyContentLengths(pref_name); |
if (!lengths.empty()) { |
DCHECK_EQ(lengths.size(), data_reduction_proxy::kNumDaysInHistory); |
@@ -237,12 +132,16 @@ DataReductionProxySettingsAndroid::GetDailyContentLengths( |
return ScopedJavaLocalRef<jlongArray>(env, result); |
} |
+DataReductionProxySettings* DataReductionProxySettingsAndroid::Settings() { |
+ DataReductionProxySettings* settings = |
+ DataReductionProxyChromeSettingsFactory::GetForBrowserContext( |
+ ProfileManager::GetActiveUserProfile()); |
+ DCHECK(settings); |
+ return settings; |
+} |
// Used by generated jni code. |
static jlong Init(JNIEnv* env, jobject obj) { |
- DataReductionProxySettingsAndroid* settings = |
- DataReductionProxySettingsFactoryAndroid::GetForBrowserContext( |
- ProfileManager::GetActiveUserProfile()); |
- return reinterpret_cast<intptr_t>(settings); |
+ return reinterpret_cast<intptr_t>(new DataReductionProxySettingsAndroid()); |
} |