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

Unified 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: Address Comment 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 side-by-side diff with in-line comments
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 »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/preferences/pref_service_bridge.cc
diff --git a/chrome/browser/android/preferences/pref_service_bridge.cc b/chrome/browser/android/preferences/pref_service_bridge.cc
index fda077c6c8e43263e9ee08fbe4d9518e51df3d3a..78484c75a205d4e38066f21e19e33d669f4be101 100644
--- a/chrome/browser/android/preferences/pref_service_bridge.cc
+++ b/chrome/browser/android/preferences/pref_service_bridge.cc
@@ -230,13 +230,6 @@ static jboolean GetSearchSuggestManaged(JNIEnv* env, jobject obj) {
}
static jboolean GetProtectedMediaIdentifierEnabled(JNIEnv* env, jobject obj) {
- // Migrate Settings from Preferences to the Host Content Settings Map.
- // TODO (knn): Remove this once users have migrated.
- PrefService* prefs = GetPrefService();
- if (!prefs->GetBoolean(prefs::kProtectedMediaIdentifierEnabled)) {
- prefs->SetBoolean(prefs::kProtectedMediaIdentifierEnabled, true);
- SetProtectedMediaIdentifierEnabled(env, obj, false);
- }
return GetBooleanForContentSetting(
CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER);
}
@@ -246,15 +239,6 @@ static jboolean GetPushNotificationsEnabled(JNIEnv* env, jobject obj) {
}
static jboolean GetAllowLocationEnabled(JNIEnv* env, jobject obj) {
- // Migrate Settings from Preferences to the Host Content Settings Map.
- // TODO (knn): Remove this once users have migrated.
- PrefService* prefs = GetPrefService();
- // Non-user-modifiable preference levels should have been migrated already.
- DCHECK(prefs->IsUserModifiablePreference(prefs::kGeolocationEnabled));
- if (!prefs->GetBoolean(prefs::kGeolocationEnabled)) {
- prefs->SetBoolean(prefs::kGeolocationEnabled, true);
- SetAllowLocationEnabled(env, obj, false);
- }
return GetBooleanForContentSetting(CONTENT_SETTINGS_TYPE_GEOLOCATION);
}
@@ -513,6 +497,35 @@ static void MigrateJavascriptPreference(JNIEnv* env, jobject obj) {
GetPrefService()->ClearPref(prefs::kWebKitJavascriptEnabled);
}
+static void MigrateLocationPreference(JNIEnv* env, jobject obj) {
+ const PrefService::Preference* pref =
+ GetPrefService()->FindPreference(prefs::kGeolocationEnabled);
+ if (!pref || !pref->HasUserSetting())
+ return;
+ bool location_enabled = false;
+ bool retval = pref->GetValue()->GetAsBoolean(&location_enabled);
+ DCHECK(retval);
+ // Do a restrictive migration. GetAllowLocationEnabled could be
+ // non-usermodifiable and we don't want to migrate that.
+ if (!location_enabled)
+ SetAllowLocationEnabled(env, obj, false);
+ GetPrefService()->ClearPref(prefs::kGeolocationEnabled);
+}
+
+static void MigrateProtectedMediaPreference(JNIEnv* env, jobject obj) {
+ const PrefService::Preference* pref =
+ GetPrefService()->FindPreference(prefs::kProtectedMediaIdentifierEnabled);
+ if (!pref || !pref->HasUserSetting())
+ return;
+ bool pmi_enabled = false;
+ bool retval = pref->GetValue()->GetAsBoolean(&pmi_enabled);
+ DCHECK(retval);
+ // Do a restrictive migration if values disagree.
+ if (!pmi_enabled)
+ SetProtectedMediaIdentifierEnabled(env, obj, false);
+ GetPrefService()->ClearPref(prefs::kProtectedMediaIdentifierEnabled);
+}
+
static void SetPasswordEchoEnabled(JNIEnv* env,
jobject obj,
jboolean passwordEchoEnabled) {
« 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