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