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

Side by Side Diff: chrome/browser/ui/gesture_prefs_observer_factory_aura.cc

Issue 43503002: Remove fling curve profiles from renderer preferences assuming that be turn on Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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/ui/gesture_prefs_observer_factory_aura.h" 5 #include "chrome/browser/ui/gesture_prefs_observer_factory_aura.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 prefs::kMinPinchUpdateDistanceInPixels, 128 prefs::kMinPinchUpdateDistanceInPixels,
129 prefs::kMinRailBreakVelocity, 129 prefs::kMinRailBreakVelocity,
130 prefs::kMinScrollDeltaSquared, 130 prefs::kMinScrollDeltaSquared,
131 prefs::kMinScrollSuccessiveVelocityEvents, 131 prefs::kMinScrollSuccessiveVelocityEvents,
132 prefs::kMinSwipeSpeed, 132 prefs::kMinSwipeSpeed,
133 prefs::kMinTouchDownDurationInSecondsForClick, 133 prefs::kMinTouchDownDurationInSecondsForClick,
134 prefs::kPointsBufferedForVelocity, 134 prefs::kPointsBufferedForVelocity,
135 prefs::kRailBreakProportion, 135 prefs::kRailBreakProportion,
136 prefs::kRailStartProportion, 136 prefs::kRailStartProportion,
137 prefs::kSemiLongPressTimeInSeconds, 137 prefs::kSemiLongPressTimeInSeconds,
138 };
139
140 const char* kFlingTouchpadPrefs[] = {
141 prefs::kFlingCurveTouchpadAlpha, 138 prefs::kFlingCurveTouchpadAlpha,
142 prefs::kFlingCurveTouchpadBeta, 139 prefs::kFlingCurveTouchpadBeta,
143 prefs::kFlingCurveTouchpadGamma 140 prefs::kFlingCurveTouchpadGamma,
144 };
145
146 const char* kFlingTouchscreenPrefs[] = {
147 prefs::kFlingCurveTouchscreenAlpha, 141 prefs::kFlingCurveTouchscreenAlpha,
148 prefs::kFlingCurveTouchscreenBeta, 142 prefs::kFlingCurveTouchscreenBeta,
149 prefs::kFlingCurveTouchscreenGamma, 143 prefs::kFlingCurveTouchscreenGamma
150 }; 144 };
151 145
152 GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs) 146 GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs)
153 : prefs_(prefs) { 147 : prefs_(prefs) {
154 // Clear for migration. 148 // Clear for migration.
155 prefs->ClearPref(kTouchScreenFlingAccelerationAdjustment); 149 prefs->ClearPref(kTouchScreenFlingAccelerationAdjustment);
156 150
157 // TODO(mohsen): Remove following code in M32. By then, gesture prefs will 151 // TODO(mohsen): Remove following code in M32. By then, gesture prefs will
158 // have been cleared for majority of the users: crbug.com/269292. 152 // have been cleared for majority of the users: crbug.com/269292.
159 // Do a one-time wipe of all gesture preferences. 153 // Do a one-time wipe of all gesture preferences.
160 if (!prefs->GetBoolean(prefs::kGestureConfigIsTrustworthy)) { 154 if (!prefs->GetBoolean(prefs::kGestureConfigIsTrustworthy)) {
161 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i) 155 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i)
162 prefs->ClearPref(kPrefsToObserve[i]); 156 prefs->ClearPref(kPrefsToObserve[i]);
163 157
164 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 158 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
165 for (size_t i = 0; i < overscroll_prefs.size(); ++i) 159 for (size_t i = 0; i < overscroll_prefs.size(); ++i)
166 prefs->ClearPref(overscroll_prefs[i].pref_name); 160 prefs->ClearPref(overscroll_prefs[i].pref_name);
167 161
168 for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); ++i)
169 prefs->ClearPref(kFlingTouchpadPrefs[i]);
170
171 for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); ++i)
172 prefs->ClearPref(kFlingTouchscreenPrefs[i]);
173
174 #if defined(USE_ASH) 162 #if defined(USE_ASH)
175 for (size_t i = 0; i < arraysize(kImmersiveModePrefs); ++i) 163 for (size_t i = 0; i < arraysize(kImmersiveModePrefs); ++i)
176 prefs->ClearPref(kImmersiveModePrefs[i]); 164 prefs->ClearPref(kImmersiveModePrefs[i]);
177 #endif // USE_ASH 165 #endif // USE_ASH
178 166
179 prefs->SetBoolean(prefs::kGestureConfigIsTrustworthy, true); 167 prefs->SetBoolean(prefs::kGestureConfigIsTrustworthy, true);
180 } 168 }
181 169
182 registrar_.Init(prefs); 170 registrar_.Init(prefs);
183 registrar_.RemoveAll(); 171 registrar_.RemoveAll();
184 base::Closure callback = base::Bind(&GesturePrefsObserver::Update, 172 base::Closure callback = base::Bind(&GesturePrefsObserver::Update,
185 base::Unretained(this)); 173 base::Unretained(this));
186 174
187 base::Closure notify_callback = base::Bind(&GesturePrefsObserver::Notify, 175 base::Closure notify_callback = base::Bind(&GesturePrefsObserver::Notify,
188 base::Unretained(this)); 176 base::Unretained(this));
189 177
190 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i) 178 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i)
191 registrar_.Add(kPrefsToObserve[i], callback); 179 registrar_.Add(kPrefsToObserve[i], callback);
192 180
193 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 181 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
194 for (size_t i = 0; i < overscroll_prefs.size(); ++i) 182 for (size_t i = 0; i < overscroll_prefs.size(); ++i)
195 registrar_.Add(overscroll_prefs[i].pref_name, callback); 183 registrar_.Add(overscroll_prefs[i].pref_name, callback);
196 184
197 for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); ++i)
198 registrar_.Add(kFlingTouchpadPrefs[i], notify_callback);
199 for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); ++i)
200 registrar_.Add(kFlingTouchscreenPrefs[i], notify_callback);
201
202 #if defined(USE_ASH) 185 #if defined(USE_ASH)
203 for (size_t i = 0; i < arraysize(kImmersiveModePrefs); ++i) 186 for (size_t i = 0; i < arraysize(kImmersiveModePrefs); ++i)
204 registrar_.Add(kImmersiveModePrefs[i], callback); 187 registrar_.Add(kImmersiveModePrefs[i], callback);
205 #endif // USE_ASH 188 #endif // USE_ASH
206 Update(); 189 Update();
207 } 190 }
208 191
209 GesturePrefsObserver::~GesturePrefsObserver() {} 192 GesturePrefsObserver::~GesturePrefsObserver() {}
210 193
211 void GesturePrefsObserver::Shutdown() { 194 void GesturePrefsObserver::Shutdown() {
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 prefs_->GetDouble( 270 prefs_->GetDouble(
288 prefs::kRailBreakProportion)); 271 prefs::kRailBreakProportion));
289 GestureConfiguration::set_rail_start_proportion( 272 GestureConfiguration::set_rail_start_proportion(
290 prefs_->GetDouble( 273 prefs_->GetDouble(
291 prefs::kRailStartProportion)); 274 prefs::kRailStartProportion));
292 GestureConfiguration::set_scroll_prediction_seconds( 275 GestureConfiguration::set_scroll_prediction_seconds(
293 prefs_->GetDouble(prefs::kScrollPredictionSeconds)); 276 prefs_->GetDouble(prefs::kScrollPredictionSeconds));
294 GestureConfiguration::set_show_press_delay_in_ms( 277 GestureConfiguration::set_show_press_delay_in_ms(
295 prefs_->GetInteger(prefs::kShowPressDelayInMS)); 278 prefs_->GetInteger(prefs::kShowPressDelayInMS));
296 279
280 // Fling curve: Touchpad
281 GestureConfiguration::set_touchpad_fling_curve_alpha(
282 prefs_->GetDouble(prefs::kFlingCurveTouchpadAlpha));
283 GestureConfiguration::set_touchpad_fling_curve_beta(
284 prefs_->GetDouble(prefs::kFlingCurveTouchpadBeta));
285 GestureConfiguration::set_touchpad_fling_curve_gamma(
286 prefs_->GetDouble(prefs::kFlingCurveTouchpadGamma));
287
288 // Fling curve: Touchscreen
289 GestureConfiguration::set_touchscreen_fling_curve_alpha(
290 prefs_->GetDouble(prefs::kFlingCurveTouchscreenAlpha));
291 GestureConfiguration::set_touchscreen_fling_curve_beta(
292 prefs_->GetDouble(prefs::kFlingCurveTouchscreenBeta));
293 GestureConfiguration::set_touchscreen_fling_curve_gamma(
294 prefs_->GetDouble(prefs::kFlingCurveTouchscreenGamma));
295
297 UpdateOverscrollPrefs(); 296 UpdateOverscrollPrefs();
298 UpdateImmersiveModePrefs(); 297 UpdateImmersiveModePrefs();
299 } 298 }
300 299
301 void GesturePrefsObserver::UpdateOverscrollPrefs() { 300 void GesturePrefsObserver::UpdateOverscrollPrefs() {
302 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 301 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
303 for (size_t i = 0; i < overscroll_prefs.size(); ++i) { 302 for (size_t i = 0; i < overscroll_prefs.size(); ++i) {
304 content::SetOverscrollConfig(overscroll_prefs[i].config, 303 content::SetOverscrollConfig(overscroll_prefs[i].config,
305 static_cast<float>(prefs_->GetDouble(overscroll_prefs[i].pref_name))); 304 static_cast<float>(prefs_->GetDouble(overscroll_prefs[i].pref_name)));
306 } 305 }
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
355 overscroll_prefs[i].pref_name, 354 overscroll_prefs[i].pref_name,
356 content::GetOverscrollConfig(overscroll_prefs[i].config), 355 content::GetOverscrollConfig(overscroll_prefs[i].config),
357 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 356 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
358 } 357 }
359 } 358 }
360 359
361 void GesturePrefsObserverFactoryAura::RegisterFlingCurveParameters( 360 void GesturePrefsObserverFactoryAura::RegisterFlingCurveParameters(
362 user_prefs::PrefRegistrySyncable* registry) { 361 user_prefs::PrefRegistrySyncable* registry) {
363 content::RendererPreferences def_prefs; 362 content::RendererPreferences def_prefs;
364 363
365 for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); i++) 364 // Touchpad
366 registry->RegisterDoublePref( 365 registry->RegisterDoublePref(
367 kFlingTouchpadPrefs[i], 366 prefs::kFlingCurveTouchpadAlpha,
368 def_prefs.touchpad_fling_profile[i], 367 GestureConfiguration::touchpad_fling_curve_alpha(),
369 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 368 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
369 registry->RegisterDoublePref(
370 prefs::kFlingCurveTouchpadBeta,
371 GestureConfiguration::touchpad_fling_curve_beta(),
372 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
373 registry->RegisterDoublePref(
374 prefs::kFlingCurveTouchpadGamma,
375 GestureConfiguration::touchpad_fling_curve_gamma(),
376 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
370 377
371 for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); i++) 378 // Touchscreen
372 registry->RegisterDoublePref( 379 registry->RegisterDoublePref(
373 kFlingTouchscreenPrefs[i], 380 prefs::kFlingCurveTouchscreenAlpha,
374 def_prefs.touchscreen_fling_profile[i], 381 GestureConfiguration::touchscreen_fling_curve_alpha(),
375 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 382 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
383 registry->RegisterDoublePref(
384 prefs::kFlingCurveTouchscreenBeta,
385 GestureConfiguration::touchscreen_fling_curve_beta(),
386 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
387 registry->RegisterDoublePref(
388 prefs::kFlingCurveTouchscreenGamma,
389 GestureConfiguration::touchscreen_fling_curve_gamma(),
390 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
376 } 391 }
377 392
378 void GesturePrefsObserverFactoryAura::RegisterImmersiveModePrefs( 393 void GesturePrefsObserverFactoryAura::RegisterImmersiveModePrefs(
379 user_prefs::PrefRegistrySyncable* registry) { 394 user_prefs::PrefRegistrySyncable* registry) {
380 #if defined(USE_ASH) 395 #if defined(USE_ASH)
381 registry->RegisterIntegerPref( 396 registry->RegisterIntegerPref(
382 prefs::kImmersiveModeRevealDelayMs, 397 prefs::kImmersiveModeRevealDelayMs,
383 ImmersiveFullscreenConfiguration::immersive_mode_reveal_delay_ms(), 398 ImmersiveFullscreenConfiguration::immersive_mode_reveal_delay_ms(),
384 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 399 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
385 registry->RegisterIntegerPref( 400 registry->RegisterIntegerPref(
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
542 // Use same gesture preferences on incognito windows. 557 // Use same gesture preferences on incognito windows.
543 return chrome::GetBrowserContextRedirectedInIncognito(context); 558 return chrome::GetBrowserContextRedirectedInIncognito(context);
544 } 559 }
545 560
546 bool GesturePrefsObserverFactoryAura::ServiceIsNULLWhileTesting() const { 561 bool GesturePrefsObserverFactoryAura::ServiceIsNULLWhileTesting() const {
547 // Some tests replace the PrefService of the TestingProfile after the 562 // Some tests replace the PrefService of the TestingProfile after the
548 // GesturePrefsObserver has been created, which makes Shutdown() 563 // GesturePrefsObserver has been created, which makes Shutdown()
549 // remove the registrar from a non-existent PrefService. 564 // remove the registrar from a non-existent PrefService.
550 return true; 565 return true;
551 } 566 }
OLDNEW
« no previous file with comments | « chrome/browser/renderer_preferences_util.cc ('k') | content/browser/renderer_host/input/fling/fling_curve_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698