| 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 |