| 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());
|
| }
|
|
|