OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/android/preferences/pref_service_bridge.h" | 5 #include "chrome/browser/android/preferences/pref_service_bridge.h" |
6 | 6 |
7 #include <jni.h> | 7 #include <jni.h> |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 using base::android::AttachCurrentThread; | 53 using base::android::AttachCurrentThread; |
54 using base::android::CheckException; | 54 using base::android::CheckException; |
55 using base::android::ConvertJavaStringToUTF8; | 55 using base::android::ConvertJavaStringToUTF8; |
56 using base::android::ConvertUTF8ToJavaString; | 56 using base::android::ConvertUTF8ToJavaString; |
57 using base::android::ScopedJavaLocalRef; | 57 using base::android::ScopedJavaLocalRef; |
58 using base::android::ScopedJavaGlobalRef; | 58 using base::android::ScopedJavaGlobalRef; |
59 using content::BrowserThread; | 59 using content::BrowserThread; |
60 | 60 |
61 namespace { | 61 namespace { |
62 | 62 |
63 enum NetworkPredictionOptions { | |
64 NETWORK_PREDICTION_ALWAYS, | |
65 NETWORK_PREDICTION_WIFI_ONLY, | |
66 NETWORK_PREDICTION_NEVER, | |
67 }; | |
68 | |
69 Profile* GetOriginalProfile() { | 63 Profile* GetOriginalProfile() { |
70 return ProfileManager::GetActiveUserProfile()->GetOriginalProfile(); | 64 return ProfileManager::GetActiveUserProfile()->GetOriginalProfile(); |
71 } | 65 } |
72 | 66 |
73 bool GetBooleanForContentSetting(ContentSettingsType type) { | 67 bool GetBooleanForContentSetting(ContentSettingsType type) { |
74 HostContentSettingsMap* content_settings = | 68 HostContentSettingsMap* content_settings = |
75 HostContentSettingsMapFactory::GetForProfile(GetOriginalProfile()); | 69 HostContentSettingsMapFactory::GetForProfile(GetOriginalProfile()); |
76 switch (content_settings->GetDefaultContentSetting(type, NULL)) { | 70 switch (content_settings->GetDefaultContentSetting(type, NULL)) { |
77 case CONTENT_SETTING_BLOCK: | 71 case CONTENT_SETTING_BLOCK: |
78 return false; | 72 return false; |
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 const JavaParamRef<jobject>& obj) { | 237 const JavaParamRef<jobject>& obj) { |
244 return GetPrefService()->IsManagedPreference( | 238 return GetPrefService()->IsManagedPreference( |
245 password_manager::prefs::kCredentialsEnableAutosignin); | 239 password_manager::prefs::kCredentialsEnableAutosignin); |
246 } | 240 } |
247 | 241 |
248 static jboolean GetDoNotTrackEnabled(JNIEnv* env, | 242 static jboolean GetDoNotTrackEnabled(JNIEnv* env, |
249 const JavaParamRef<jobject>& obj) { | 243 const JavaParamRef<jobject>& obj) { |
250 return GetPrefService()->GetBoolean(prefs::kEnableDoNotTrack); | 244 return GetPrefService()->GetBoolean(prefs::kEnableDoNotTrack); |
251 } | 245 } |
252 | 246 |
253 static jint GetNetworkPredictionOptions(JNIEnv* env, | 247 static jboolean GetNetworkPredictionEnabled(JNIEnv* env, |
254 const JavaParamRef<jobject>& obj) { | 248 const JavaParamRef<jobject>& obj) { |
255 return GetPrefService()->GetInteger(prefs::kNetworkPredictionOptions); | 249 return GetPrefService()->GetInteger(prefs::kNetworkPredictionOptions) |
| 250 != chrome_browser_net::NETWORK_PREDICTION_NEVER; |
256 } | 251 } |
257 | 252 |
258 static jboolean GetNetworkPredictionManaged(JNIEnv* env, | 253 static jboolean GetNetworkPredictionManaged(JNIEnv* env, |
259 const JavaParamRef<jobject>& obj) { | 254 const JavaParamRef<jobject>& obj) { |
260 return GetPrefService()->IsManagedPreference( | 255 return GetPrefService()->IsManagedPreference( |
261 prefs::kNetworkPredictionOptions); | 256 prefs::kNetworkPredictionOptions); |
262 } | 257 } |
263 | 258 |
264 static jboolean GetPasswordEchoEnabled(JNIEnv* env, | 259 static jboolean GetPasswordEchoEnabled(JNIEnv* env, |
265 const JavaParamRef<jobject>& obj) { | 260 const JavaParamRef<jobject>& obj) { |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
695 allow ? CONTENT_SETTING_ASK : CONTENT_SETTING_BLOCK); | 690 allow ? CONTENT_SETTING_ASK : CONTENT_SETTING_BLOCK); |
696 } | 691 } |
697 | 692 |
698 static void SetCrashReporting(JNIEnv* env, | 693 static void SetCrashReporting(JNIEnv* env, |
699 const JavaParamRef<jobject>& obj, | 694 const JavaParamRef<jobject>& obj, |
700 jboolean reporting) { | 695 jboolean reporting) { |
701 PrefService* local_state = g_browser_process->local_state(); | 696 PrefService* local_state = g_browser_process->local_state(); |
702 local_state->SetBoolean(prefs::kCrashReportingEnabled, reporting); | 697 local_state->SetBoolean(prefs::kCrashReportingEnabled, reporting); |
703 } | 698 } |
704 | 699 |
705 static jboolean CanPredictNetworkActions(JNIEnv* env, | 700 static jboolean CanPrefetchAndPrerender(JNIEnv* env, |
706 const JavaParamRef<jobject>& obj) { | 701 const JavaParamRef<jobject>& obj) { |
707 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()) == | 702 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()) == |
708 chrome_browser_net::NetworkPredictionStatus::ENABLED; | 703 chrome_browser_net::NetworkPredictionStatus::ENABLED; |
709 } | 704 } |
710 | 705 |
711 static void SetDoNotTrackEnabled(JNIEnv* env, | 706 static void SetDoNotTrackEnabled(JNIEnv* env, |
712 const JavaParamRef<jobject>& obj, | 707 const JavaParamRef<jobject>& obj, |
713 jboolean allow) { | 708 jboolean allow) { |
714 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); | 709 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); |
715 } | 710 } |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
852 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); | 847 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); |
853 } | 848 } |
854 | 849 |
855 static void SetContextualSearchPreference(JNIEnv* env, | 850 static void SetContextualSearchPreference(JNIEnv* env, |
856 const JavaParamRef<jobject>& obj, | 851 const JavaParamRef<jobject>& obj, |
857 const JavaParamRef<jstring>& pref) { | 852 const JavaParamRef<jstring>& pref) { |
858 GetPrefService()->SetString(prefs::kContextualSearchEnabled, | 853 GetPrefService()->SetString(prefs::kContextualSearchEnabled, |
859 ConvertJavaStringToUTF8(env, pref)); | 854 ConvertJavaStringToUTF8(env, pref)); |
860 } | 855 } |
861 | 856 |
862 static void SetNetworkPredictionOptions(JNIEnv* env, | 857 static void SetNetworkPredictionEnabled(JNIEnv* env, |
863 const JavaParamRef<jobject>& obj, | 858 const JavaParamRef<jobject>& obj, |
864 int option) { | 859 jboolean enabled) { |
865 GetPrefService()->SetInteger(prefs::kNetworkPredictionOptions, option); | 860 GetPrefService()->SetInteger( |
| 861 prefs::kNetworkPredictionOptions, |
| 862 enabled ? chrome_browser_net::NETWORK_PREDICTION_WIFI_ONLY |
| 863 : chrome_browser_net::NETWORK_PREDICTION_NEVER); |
866 } | 864 } |
867 | 865 |
868 static jboolean NetworkPredictionEnabledHasUserSetting( | 866 static jboolean ObsoleteNetworkPredictionEnabledHasUserSetting( |
869 JNIEnv* env, | 867 JNIEnv* env, |
870 const JavaParamRef<jobject>& obj) { | 868 const JavaParamRef<jobject>& obj) { |
871 return GetPrefService()->GetUserPrefValue( | 869 return GetPrefService()->GetUserPrefValue( |
872 prefs::kNetworkPredictionEnabled) != NULL; | 870 prefs::kNetworkPredictionEnabled) != NULL; |
873 } | 871 } |
874 | 872 |
875 static jboolean NetworkPredictionOptionsHasUserSetting( | 873 static jboolean ObsoleteNetworkPredictionOptionsHasUserSetting( |
876 JNIEnv* env, | 874 JNIEnv* env, |
877 const JavaParamRef<jobject>& obj) { | 875 const JavaParamRef<jobject>& obj) { |
878 return GetPrefService()->GetUserPrefValue( | 876 return GetPrefService()->GetUserPrefValue( |
879 prefs::kNetworkPredictionOptions) != NULL; | 877 prefs::kNetworkPredictionOptions) != NULL; |
880 } | 878 } |
881 | 879 |
882 static jboolean GetNetworkPredictionEnabledUserPrefValue( | 880 static jboolean ObsoleteGetNetworkPredictionEnabledUserPrefValue( |
883 JNIEnv* env, | 881 JNIEnv* env, |
884 const JavaParamRef<jobject>& obj) { | 882 const JavaParamRef<jobject>& obj) { |
885 const base::Value* network_prediction_enabled = | 883 const base::Value* network_prediction_enabled = |
886 GetPrefService()->GetUserPrefValue(prefs::kNetworkPredictionEnabled); | 884 GetPrefService()->GetUserPrefValue(prefs::kNetworkPredictionEnabled); |
887 DCHECK(network_prediction_enabled); | 885 DCHECK(network_prediction_enabled); |
888 bool value = false; | 886 bool value = false; |
889 DCHECK(network_prediction_enabled->GetAsBoolean(&value)); | 887 DCHECK(network_prediction_enabled->GetAsBoolean(&value)); |
890 return value; | 888 return value; |
891 } | 889 } |
892 | 890 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1035 | 1033 |
1036 return ConvertJavaStringToUTF8(android_permission); | 1034 return ConvertJavaStringToUTF8(android_permission); |
1037 } | 1035 } |
1038 | 1036 |
1039 static void SetSupervisedUserId(JNIEnv* env, | 1037 static void SetSupervisedUserId(JNIEnv* env, |
1040 const JavaParamRef<jobject>& obj, | 1038 const JavaParamRef<jobject>& obj, |
1041 const JavaParamRef<jstring>& pref) { | 1039 const JavaParamRef<jstring>& pref) { |
1042 GetPrefService()->SetString(prefs::kSupervisedUserId, | 1040 GetPrefService()->SetString(prefs::kSupervisedUserId, |
1043 ConvertJavaStringToUTF8(env, pref)); | 1041 ConvertJavaStringToUTF8(env, pref)); |
1044 } | 1042 } |
OLD | NEW |