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

Unified Diff: chrome/browser/ui/gesture_prefs_observer_factory_aura.cc

Issue 21983002: Add a pref for a one-time wipe of gesture prefs (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated comments Created 7 years, 4 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 | « no previous file | chrome/common/pref_names.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/gesture_prefs_observer_factory_aura.cc
diff --git a/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc b/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc
index 82895ff7179b50ec8a04b8b404ceaf6159b9bc6e..4e73dcc5389be322102dac1f3da12494c7e7997a 100644
--- a/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc
+++ b/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc
@@ -151,6 +151,31 @@ GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs)
// Clear for migration.
prefs->ClearPref(kTouchScreenFlingAccelerationAdjustment);
+ // TODO(mohsen): Remove following code in M32. By then, gesture prefs will
+ // have been cleared for majority of the users: crbug.com/269292.
+ // Do a one-time wipe of all gesture preferences.
+ if (!prefs->GetBoolean(prefs::kGestureConfigIsTrustworthy)) {
+ for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i)
+ prefs->ClearPref(kPrefsToObserve[i]);
+
+ const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
+ for (size_t i = 0; i < overscroll_prefs.size(); ++i)
+ prefs->ClearPref(overscroll_prefs[i].pref_name);
+
+ for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); ++i)
+ prefs->ClearPref(kFlingTouchpadPrefs[i]);
+
+ for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); ++i)
+ prefs->ClearPref(kFlingTouchscreenPrefs[i]);
+
+#if defined(USE_ASH)
+ for (size_t i = 0; i < arraysize(kImmersiveModePrefs); ++i)
+ prefs->ClearPref(kImmersiveModePrefs[i]);
+#endif // USE_ASH
+
+ prefs->SetBoolean(prefs::kGestureConfigIsTrustworthy, true);
+ }
+
registrar_.Init(prefs);
registrar_.RemoveAll();
base::Closure callback = base::Bind(&GesturePrefsObserver::Update,
@@ -481,6 +506,12 @@ void GesturePrefsObserverFactoryAura::RegisterProfilePrefs(
RegisterOverscrollPrefs(registry);
RegisterFlingCurveParameters(registry);
RegisterImmersiveModePrefs(registry);
+
+ // Register pref for a one-time wipe of all gesture preferences.
+ registry->RegisterBooleanPref(
+ prefs::kGestureConfigIsTrustworthy,
+ false,
+ user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
}
bool
« no previous file with comments | « no previous file | chrome/common/pref_names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698