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..b0847ab7604f395b5942fd6950104e45847462ed 100644 |
--- a/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
+++ b/chrome/browser/ui/gesture_prefs_observer_factory_aura.cc |
@@ -151,6 +151,28 @@ GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs) |
// Clear for migration. |
prefs->ClearPref(kTouchScreenFlingAccelerationAdjustment); |
+ // 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]); |
Bernhard Bauer
2013/08/02 22:18:40
Could you do this only if the pref has the default
mohsen
2013/08/07 05:58:04
I thought all prefs have default values. Isn't it
Bernhard Bauer
2013/08/07 06:01:43
Sorry, I meant if the current user-defined value o
mohsen
2013/08/07 16:28:11
Oh, I see. This makes sense. But, the problem is t
Bernhard Bauer
2013/08/07 16:43:52
Hm, ok.
|
+ |
+ 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]); |
Bernhard Bauer
2013/08/02 22:18:40
Nit: newline.
mohsen
2013/08/07 05:58:04
Done.
|
+ 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 +503,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 |