Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(355)

Side by Side Diff: chrome/browser/android/preferences/pref_service_bridge.cc

Issue 1050473002: Migrate Location and Protected Media Identifier Settings at startup instead of the getter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 8
9 #include "base/android/build_info.h" 9 #include "base/android/build_info.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after
223 223
224 static jboolean GetSearchSuggestEnabled(JNIEnv* env, jobject obj) { 224 static jboolean GetSearchSuggestEnabled(JNIEnv* env, jobject obj) {
225 return GetPrefService()->GetBoolean(prefs::kSearchSuggestEnabled); 225 return GetPrefService()->GetBoolean(prefs::kSearchSuggestEnabled);
226 } 226 }
227 227
228 static jboolean GetSearchSuggestManaged(JNIEnv* env, jobject obj) { 228 static jboolean GetSearchSuggestManaged(JNIEnv* env, jobject obj) {
229 return GetPrefService()->IsManagedPreference(prefs::kSearchSuggestEnabled); 229 return GetPrefService()->IsManagedPreference(prefs::kSearchSuggestEnabled);
230 } 230 }
231 231
232 static jboolean GetProtectedMediaIdentifierEnabled(JNIEnv* env, jobject obj) { 232 static jboolean GetProtectedMediaIdentifierEnabled(JNIEnv* env, jobject obj) {
233 // Migrate Settings from Preferences to the Host Content Settings Map.
234 // TODO (knn): Remove this once users have migrated.
235 PrefService* prefs = GetPrefService();
236 if (!prefs->GetBoolean(prefs::kProtectedMediaIdentifierEnabled)) {
237 prefs->SetBoolean(prefs::kProtectedMediaIdentifierEnabled, true);
238 SetProtectedMediaIdentifierEnabled(env, obj, false);
239 }
240 return GetBooleanForContentSetting( 233 return GetBooleanForContentSetting(
241 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER); 234 CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER);
242 } 235 }
243 236
244 static jboolean GetPushNotificationsEnabled(JNIEnv* env, jobject obj) { 237 static jboolean GetPushNotificationsEnabled(JNIEnv* env, jobject obj) {
245 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS); 238 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_NOTIFICATIONS);
246 } 239 }
247 240
248 static jboolean GetAllowLocationEnabled(JNIEnv* env, jobject obj) { 241 static jboolean GetAllowLocationEnabled(JNIEnv* env, jobject obj) {
249 // Migrate Settings from Preferences to the Host Content Settings Map.
250 // TODO (knn): Remove this once users have migrated.
251 PrefService* prefs = GetPrefService();
252 // Non-user-modifiable preference levels should have been migrated already.
253 DCHECK(prefs->IsUserModifiablePreference(prefs::kGeolocationEnabled));
254 if (!prefs->GetBoolean(prefs::kGeolocationEnabled)) {
255 prefs->SetBoolean(prefs::kGeolocationEnabled, true);
256 SetAllowLocationEnabled(env, obj, false);
257 }
258 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION); 242 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
259 } 243 }
260 244
261 static jboolean GetAllowLocationUserModifiable(JNIEnv* env, jobject obj) { 245 static jboolean GetAllowLocationUserModifiable(JNIEnv* env, jobject obj) {
262 return IsContentSettingUserModifiable(CONTENT_SETTINGS_TYPE_GEOLOCATION); 246 return IsContentSettingUserModifiable(CONTENT_SETTINGS_TYPE_GEOLOCATION);
263 } 247 }
264 248
265 static jboolean GetAllowLocationManagedByCustodian(JNIEnv* env, jobject obj) { 249 static jboolean GetAllowLocationManagedByCustodian(JNIEnv* env, jobject obj) {
266 return IsContentSettingManagedByCustodian(CONTENT_SETTINGS_TYPE_GEOLOCATION); 250 return IsContentSettingManagedByCustodian(CONTENT_SETTINGS_TYPE_GEOLOCATION);
267 } 251 }
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 if (!javascript_pref->HasUserSetting()) 490 if (!javascript_pref->HasUserSetting())
507 return; 491 return;
508 492
509 bool javascript_enabled = false; 493 bool javascript_enabled = false;
510 bool retval = javascript_pref->GetValue()->GetAsBoolean(&javascript_enabled); 494 bool retval = javascript_pref->GetValue()->GetAsBoolean(&javascript_enabled);
511 DCHECK(retval); 495 DCHECK(retval);
512 SetJavaScriptEnabled(env, obj, javascript_enabled); 496 SetJavaScriptEnabled(env, obj, javascript_enabled);
513 GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled); 497 GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled);
514 } 498 }
515 499
500 static void MigrateLocationPreference(JNIEnv* env, jobject obj) {
501 const PrefService::Preference* pref =
502 GetPrefService()->FindPreference(prefs::kGeolocationEnabled);
503 if (!pref || !pref->HasUserSetting()) {
newt (away) 2015/04/02 04:15:18 nit: don't need curly braces for two-line if state
knn 2015/04/02 11:16:40 Done.
504 return;
505 }
506 bool location_enabled = false;
507 bool retval = pref->GetValue()->GetAsBoolean(&location_enabled);
508 DCHECK(retval);
509 location_enabled &= GetAllowLocationEnabled(env, obj);
newt (away) 2015/04/02 04:15:18 Do we really need to check GetAllowLocationEnabled
knn 2015/04/02 11:16:40 Yes, I was migrating this before by setting the va
510 SetAllowLocationEnabled(env, obj, location_enabled);
511 GetPrefService()->ClearPref(prefs::kGeolocationEnabled);
512 }
513
514 static void MigrateProtectedMediaPreference(JNIEnv* env, jobject obj) {
515 const PrefService::Preference* pref =
516 GetPrefService()->FindPreference(prefs::kProtectedMediaIdentifierEnabled);
517 if (!pref || !pref->HasUserSetting()) {
518 return;
519 }
520 bool pmi_enabled = false;
521 bool retval = pref->GetValue()->GetAsBoolean(&pmi_enabled);
522 DCHECK(retval);
523 pmi_enabled &= GetProtectedMediaIdentifierEnabled(env, obj);
524 SetProtectedMediaIdentifierEnabled(env, obj, pmi_enabled);
525 GetPrefService()->ClearPref(prefs::kProtectedMediaIdentifierEnabled);
526 }
527
516 static void SetPasswordEchoEnabled(JNIEnv* env, 528 static void SetPasswordEchoEnabled(JNIEnv* env,
517 jobject obj, 529 jobject obj,
518 jboolean passwordEchoEnabled) { 530 jboolean passwordEchoEnabled) {
519 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled, 531 GetPrefService()->SetBoolean(prefs::kWebKitPasswordEchoEnabled,
520 passwordEchoEnabled); 532 passwordEchoEnabled);
521 } 533 }
522 534
523 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) { 535 static jboolean GetAllowPopupsEnabled(JNIEnv* env, jobject obj) {
524 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_POPUPS); 536 return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_POPUPS);
525 } 537 }
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after
796 jobject obj) { 808 jobject obj) {
797 return ConvertUTF8ToJavaString( 809 return ConvertUTF8ToJavaString(
798 env, 810 env,
799 GetPrefService()->GetString( 811 GetPrefService()->GetString(
800 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release(); 812 prefs::kSupervisedUserSecondCustodianProfileImageURL)).Release();
801 } 813 }
802 814
803 bool RegisterPrefServiceBridge(JNIEnv* env) { 815 bool RegisterPrefServiceBridge(JNIEnv* env) {
804 return RegisterNativesImpl(env); 816 return RegisterNativesImpl(env);
805 } 817 }
OLDNEW
« no previous file with comments | « chrome/android/java/src/org/chromium/chrome/browser/preferences/PrefServiceBridge.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698