OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h" | 5 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_settings_android.h" |
6 | 6 |
7 #include "base/android/build_info.h" | 7 #include "base/android/build_info.h" |
8 #include "base/android/jni_android.h" | 8 #include "base/android/jni_android.h" |
9 #include "base/android/jni_string.h" | 9 #include "base/android/jni_string.h" |
10 #include "base/base64.h" | 10 #include "base/base64.h" |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
197 JNIEnv* env, jobject obj) { | 197 JNIEnv* env, jobject obj) { |
198 return GetDailyContentLengths(env, prefs::kDailyHttpReceivedContentLength); | 198 return GetDailyContentLengths(env, prefs::kDailyHttpReceivedContentLength); |
199 } | 199 } |
200 | 200 |
201 // static | 201 // static |
202 bool DataReductionProxySettingsAndroid::Register(JNIEnv* env) { | 202 bool DataReductionProxySettingsAndroid::Register(JNIEnv* env) { |
203 bool register_natives_impl_result = RegisterNativesImpl(env); | 203 bool register_natives_impl_result = RegisterNativesImpl(env); |
204 return register_natives_impl_result; | 204 return register_natives_impl_result; |
205 } | 205 } |
206 | 206 |
207 // Metrics methods -- obsolete; see crbug/241518 | |
208 void DataReductionProxySettingsAndroid::RecordDataReductionInit() { | |
209 UMA_HISTOGRAM_ENUMERATION("SpdyProxyAuth.State", CHROME_STARTUP, | |
210 NUM_SPDY_PROXY_AUTH_STATE); | |
211 } | |
212 | |
213 void DataReductionProxySettingsAndroid::AddDefaultProxyBypassRules() { | 207 void DataReductionProxySettingsAndroid::AddDefaultProxyBypassRules() { |
214 DataReductionProxySettings::AddDefaultProxyBypassRules(); | 208 DataReductionProxySettings::AddDefaultProxyBypassRules(); |
215 | 209 |
216 // TODO(bengr): See http://crbug.com/169959. For some reason the data | 210 // TODO(bengr): See http://crbug.com/169959. For some reason the data |
217 // reduction proxy is breaking the omnibox SearchProvider. Remove this rule | 211 // reduction proxy is breaking the omnibox SearchProvider. Remove this rule |
218 // when this is fixed. | 212 // when this is fixed. |
219 AddURLPatternToBypass("http://www.google.com/complete/search*"); | 213 AddURLPatternToBypass("http://www.google.com/complete/search*"); |
220 } | 214 } |
221 | 215 |
222 void DataReductionProxySettingsAndroid::SetProxyConfigs(bool enabled, | 216 void DataReductionProxySettingsAndroid::SetProxyConfigs(bool enabled, |
223 bool at_startup) { | 217 bool at_startup) { |
224 // Keys duplicated from proxy_config_dictionary.cc | 218 // Keys duplicated from proxy_config_dictionary.cc |
225 // TODO(bengr): Move these to proxy_config_dictionary.h and reuse them here. | 219 // TODO(bengr): Move these to proxy_config_dictionary.h and reuse them here. |
226 const char kProxyMode[] = "mode"; | 220 const char kProxyMode[] = "mode"; |
227 const char kProxyPacURL[] = "pac_url"; | 221 const char kProxyPacURL[] = "pac_url"; |
228 const char kProxyBypassList[] = "bypass_list"; | 222 const char kProxyBypassList[] = "bypass_list"; |
229 | 223 |
230 LogProxyState(enabled, at_startup); | 224 LogProxyState(enabled, at_startup); |
231 | 225 |
232 PrefService* prefs = GetOriginalProfilePrefs(); | 226 PrefService* prefs = GetOriginalProfilePrefs(); |
233 DCHECK(prefs); | 227 DCHECK(prefs); |
234 DictionaryPrefUpdate update(prefs, prefs::kProxy); | 228 DictionaryPrefUpdate update(prefs, prefs::kProxy); |
235 base::DictionaryValue* dict = update.Get(); | 229 base::DictionaryValue* dict = update.Get(); |
236 // TODO(marq): All of the UMA in here are obsolete. | |
237 if (enabled) { | 230 if (enabled) { |
238 // Convert to a data URI and update the PAC settings. | 231 // Convert to a data URI and update the PAC settings. |
239 std::string base64_pac; | 232 std::string base64_pac; |
240 base::Base64Encode(GetProxyPacScript(), &base64_pac); | 233 base::Base64Encode(GetProxyPacScript(), &base64_pac); |
241 | 234 |
242 dict->SetString(kProxyPacURL, | 235 dict->SetString(kProxyPacURL, |
243 "data:application/x-ns-proxy-autoconfig;base64," + | 236 "data:application/x-ns-proxy-autoconfig;base64," + |
244 base64_pac); | 237 base64_pac); |
245 dict->SetString(kProxyMode, | 238 dict->SetString(kProxyMode, |
246 ProxyModeToString(ProxyPrefs::MODE_PAC_SCRIPT)); | 239 ProxyModeToString(ProxyPrefs::MODE_PAC_SCRIPT)); |
247 dict->SetString(kProxyBypassList, JoinString(BypassRules(), ", ")); | 240 dict->SetString(kProxyBypassList, JoinString(BypassRules(), ", ")); |
248 | 241 |
mmenke
2013/11/06 21:36:40
optional: May want to get rid of this blank line
| |
249 if (at_startup) { | |
250 UMA_HISTOGRAM_ENUMERATION("SpdyProxyAuth.State", | |
251 SPDY_PROXY_AUTH_ON_AT_STARTUP, | |
252 NUM_SPDY_PROXY_AUTH_STATE); | |
253 } else if (!DataReductionProxySettings::HasTurnedOn()) { | |
254 // SPDY proxy auth is turned on by user action for the first time in | |
255 // this session. | |
256 UMA_HISTOGRAM_ENUMERATION("SpdyProxyAuth.State", | |
257 SPDY_PROXY_AUTH_ON_BY_USER, | |
258 NUM_SPDY_PROXY_AUTH_STATE); | |
259 DataReductionProxySettings::SetHasTurnedOn(); | |
260 } | |
261 } else { | 242 } else { |
262 dict->SetString(kProxyMode, ProxyModeToString(ProxyPrefs::MODE_SYSTEM)); | 243 dict->SetString(kProxyMode, ProxyModeToString(ProxyPrefs::MODE_SYSTEM)); |
263 dict->SetString(kProxyPacURL, ""); | 244 dict->SetString(kProxyPacURL, ""); |
264 dict->SetString(kProxyBypassList, ""); | 245 dict->SetString(kProxyBypassList, ""); |
265 | |
266 if (!at_startup && !DataReductionProxySettings::HasTurnedOff()) { | |
267 UMA_HISTOGRAM_ENUMERATION("SpdyProxyAuth.State", | |
268 SPDY_PROXY_AUTH_OFF_BY_USER, | |
269 NUM_SPDY_PROXY_AUTH_STATE); | |
270 DataReductionProxySettings::SetHasTurnedOff(); | |
271 } | |
272 } | 246 } |
273 } | 247 } |
274 | 248 |
275 ScopedJavaLocalRef<jlongArray> | 249 ScopedJavaLocalRef<jlongArray> |
276 DataReductionProxySettingsAndroid::GetDailyContentLengths( | 250 DataReductionProxySettingsAndroid::GetDailyContentLengths( |
277 JNIEnv* env, const char* pref_name) { | 251 JNIEnv* env, const char* pref_name) { |
278 jlongArray result = env->NewLongArray(spdyproxy::kNumDaysInHistory); | 252 jlongArray result = env->NewLongArray(spdyproxy::kNumDaysInHistory); |
279 | 253 |
280 DataReductionProxySettings::ContentLengthList lengths = | 254 DataReductionProxySettings::ContentLengthList lengths = |
281 DataReductionProxySettings::GetDailyContentLengths(pref_name); | 255 DataReductionProxySettings::GetDailyContentLengths(pref_name); |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
315 "}"; | 289 "}"; |
316 return pac; | 290 return pac; |
317 } | 291 } |
318 | 292 |
319 // Used by generated jni code. | 293 // Used by generated jni code. |
320 static jint Init(JNIEnv* env, jobject obj) { | 294 static jint Init(JNIEnv* env, jobject obj) { |
321 DataReductionProxySettingsAndroid* settings = | 295 DataReductionProxySettingsAndroid* settings = |
322 new DataReductionProxySettingsAndroid(env, obj); | 296 new DataReductionProxySettingsAndroid(env, obj); |
323 return reinterpret_cast<jint>(settings); | 297 return reinterpret_cast<jint>(settings); |
324 } | 298 } |
OLD | NEW |