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 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
680 allow ? CONTENT_SETTING_ASK : CONTENT_SETTING_BLOCK); | 675 allow ? CONTENT_SETTING_ASK : CONTENT_SETTING_BLOCK); |
681 } | 676 } |
682 | 677 |
683 static void SetCrashReporting(JNIEnv* env, | 678 static void SetCrashReporting(JNIEnv* env, |
684 const JavaParamRef<jobject>& obj, | 679 const JavaParamRef<jobject>& obj, |
685 jboolean reporting) { | 680 jboolean reporting) { |
686 PrefService* local_state = g_browser_process->local_state(); | 681 PrefService* local_state = g_browser_process->local_state(); |
687 local_state->SetBoolean(prefs::kCrashReportingEnabled, reporting); | 682 local_state->SetBoolean(prefs::kCrashReportingEnabled, reporting); |
688 } | 683 } |
689 | 684 |
690 static jboolean CanPredictNetworkActions(JNIEnv* env, | 685 static jboolean CanPrefetchAndPrerender(JNIEnv* env, |
691 const JavaParamRef<jobject>& obj) { | 686 const JavaParamRef<jobject>& obj) { |
692 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()) == | 687 return chrome_browser_net::CanPrefetchAndPrerenderUI(GetPrefService()) == |
693 chrome_browser_net::NetworkPredictionStatus::ENABLED; | 688 chrome_browser_net::NetworkPredictionStatus::ENABLED; |
694 } | 689 } |
695 | 690 |
696 static void SetDoNotTrackEnabled(JNIEnv* env, | 691 static void SetDoNotTrackEnabled(JNIEnv* env, |
697 const JavaParamRef<jobject>& obj, | 692 const JavaParamRef<jobject>& obj, |
698 jboolean allow) { | 693 jboolean allow) { |
699 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); | 694 GetPrefService()->SetBoolean(prefs::kEnableDoNotTrack, allow); |
700 } | 695 } |
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
837 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); | 832 return GetPrefService()->IsManagedPreference(prefs::kContextualSearchEnabled); |
838 } | 833 } |
839 | 834 |
840 static void SetContextualSearchPreference(JNIEnv* env, | 835 static void SetContextualSearchPreference(JNIEnv* env, |
841 const JavaParamRef<jobject>& obj, | 836 const JavaParamRef<jobject>& obj, |
842 const JavaParamRef<jstring>& pref) { | 837 const JavaParamRef<jstring>& pref) { |
843 GetPrefService()->SetString(prefs::kContextualSearchEnabled, | 838 GetPrefService()->SetString(prefs::kContextualSearchEnabled, |
844 ConvertJavaStringToUTF8(env, pref)); | 839 ConvertJavaStringToUTF8(env, pref)); |
845 } | 840 } |
846 | 841 |
847 static void SetNetworkPredictionOptions(JNIEnv* env, | 842 static void SetNetworkPredictionEnabled(JNIEnv* env, |
848 const JavaParamRef<jobject>& obj, | 843 const JavaParamRef<jobject>& obj, |
849 int option) { | 844 jboolean enabled) { |
850 GetPrefService()->SetInteger(prefs::kNetworkPredictionOptions, option); | 845 GetPrefService()->SetInteger( |
| 846 prefs::kNetworkPredictionOptions, |
| 847 enabled ? chrome_browser_net::NETWORK_PREDICTION_ALWAYS |
| 848 : chrome_browser_net::NETWORK_PREDICTION_NEVER); |
851 } | 849 } |
852 | 850 |
853 static jboolean NetworkPredictionEnabledHasUserSetting( | 851 static jboolean ObsoleteNetworkPredictionEnabledHasUserSetting( |
854 JNIEnv* env, | 852 JNIEnv* env, |
855 const JavaParamRef<jobject>& obj) { | 853 const JavaParamRef<jobject>& obj) { |
856 return GetPrefService()->GetUserPrefValue( | 854 return GetPrefService()->GetUserPrefValue( |
857 prefs::kNetworkPredictionEnabled) != NULL; | 855 prefs::kNetworkPredictionEnabled) != NULL; |
858 } | 856 } |
859 | 857 |
860 static jboolean NetworkPredictionOptionsHasUserSetting( | 858 static jboolean ObsoleteNetworkPredictionOptionsHasUserSetting( |
861 JNIEnv* env, | 859 JNIEnv* env, |
862 const JavaParamRef<jobject>& obj) { | 860 const JavaParamRef<jobject>& obj) { |
863 return GetPrefService()->GetUserPrefValue( | 861 return GetPrefService()->GetUserPrefValue( |
864 prefs::kNetworkPredictionOptions) != NULL; | 862 prefs::kNetworkPredictionOptions) != NULL; |
865 } | 863 } |
866 | 864 |
867 static jboolean GetNetworkPredictionEnabledUserPrefValue( | 865 static jboolean ObsoleteGetNetworkPredictionEnabledUserPrefValue( |
868 JNIEnv* env, | 866 JNIEnv* env, |
869 const JavaParamRef<jobject>& obj) { | 867 const JavaParamRef<jobject>& obj) { |
870 const base::Value* network_prediction_enabled = | 868 const base::Value* network_prediction_enabled = |
871 GetPrefService()->GetUserPrefValue(prefs::kNetworkPredictionEnabled); | 869 GetPrefService()->GetUserPrefValue(prefs::kNetworkPredictionEnabled); |
872 DCHECK(network_prediction_enabled); | 870 DCHECK(network_prediction_enabled); |
873 bool value = false; | 871 bool value = false; |
874 DCHECK(network_prediction_enabled->GetAsBoolean(&value)); | 872 DCHECK(network_prediction_enabled->GetAsBoolean(&value)); |
875 return value; | 873 return value; |
876 } | 874 } |
877 | 875 |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1020 | 1018 |
1021 return ConvertJavaStringToUTF8(android_permission); | 1019 return ConvertJavaStringToUTF8(android_permission); |
1022 } | 1020 } |
1023 | 1021 |
1024 static void SetSupervisedUserId(JNIEnv* env, | 1022 static void SetSupervisedUserId(JNIEnv* env, |
1025 const JavaParamRef<jobject>& obj, | 1023 const JavaParamRef<jobject>& obj, |
1026 const JavaParamRef<jstring>& pref) { | 1024 const JavaParamRef<jstring>& pref) { |
1027 GetPrefService()->SetString(prefs::kSupervisedUserId, | 1025 GetPrefService()->SetString(prefs::kSupervisedUserId, |
1028 ConvertJavaStringToUTF8(env, pref)); | 1026 ConvertJavaStringToUTF8(env, pref)); |
1029 } | 1027 } |
OLD | NEW |