| Index: trunk/src/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc
|
| ===================================================================
|
| --- trunk/src/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc (revision 273823)
|
| +++ trunk/src/chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.cc (working copy)
|
| @@ -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::ConvertUTF16ToJavaString;
|
| using base::android::ConvertUTF8ToJavaString;
|
| using base::android::ScopedJavaLocalRef;
|
| -using data_reduction_proxy::DataReductionProxyParams;
|
| using data_reduction_proxy::DataReductionProxySettings;
|
|
|
| namespace {
|
| @@ -58,20 +55,33 @@
|
| 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 @@
|
| 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 @@
|
| 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 @@
|
| // 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);
|
| }
|
|
|