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

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

Issue 586933003: fling: Remove a bunch of code for configuring fling curves. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: moar Created 6 years, 3 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
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 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 PrefChangeRegistrar registrar_; 84 PrefChangeRegistrar registrar_;
85 PrefService* prefs_; 85 PrefService* prefs_;
86 86
87 DISALLOW_COPY_AND_ASSIGN(GesturePrefsObserver); 87 DISALLOW_COPY_AND_ASSIGN(GesturePrefsObserver);
88 }; 88 };
89 89
90 // The list of prefs we want to observe. 90 // The list of prefs we want to observe.
91 // Note that this collection of settings should correspond to the settings used 91 // Note that this collection of settings should correspond to the settings used
92 // in ui/events/gestures/gesture_configuration.h 92 // in ui/events/gestures/gesture_configuration.h
93 const char* kPrefsToObserve[] = { 93 const char* kPrefsToObserve[] = {
94 prefs::kFlingAccelerationCurveCoefficient0,
95 prefs::kFlingAccelerationCurveCoefficient1,
96 prefs::kFlingAccelerationCurveCoefficient2,
97 prefs::kFlingAccelerationCurveCoefficient3,
98 prefs::kFlingMaxCancelToDownTimeInMs, 94 prefs::kFlingMaxCancelToDownTimeInMs,
99 prefs::kFlingMaxTapGapTimeInMs, 95 prefs::kFlingMaxTapGapTimeInMs,
100 prefs::kTabScrubActivationDelayInMS, 96 prefs::kTabScrubActivationDelayInMS,
101 prefs::kMaxSeparationForGestureTouchesInPixels, 97 prefs::kMaxSeparationForGestureTouchesInPixels,
102 prefs::kSemiLongPressTimeInSeconds, 98 prefs::kSemiLongPressTimeInSeconds,
103 }; 99 };
104 100
105 const char* kFlingTouchpadPrefs[] = { 101 const char* kPrefsToRemove[] = {
106 prefs::kFlingCurveTouchpadAlpha, 102 "gesture.fling_acceleration_curve_coefficient_0",
107 prefs::kFlingCurveTouchpadBeta, 103 "gesture.fling_acceleration_curve_coefficient_1",
108 prefs::kFlingCurveTouchpadGamma 104 "gesture.fling_acceleration_curve_coefficient_2",
109 }; 105 "gesture.fling_acceleration_curve_coefficient_3",
110 106 "flingcurve.touchpad_alpha",
111 const char* kFlingTouchscreenPrefs[] = { 107 "flingcurve.touchpad_beta",
112 prefs::kFlingCurveTouchscreenAlpha, 108 "flingcurve.touchpad_gamma",
113 prefs::kFlingCurveTouchscreenBeta, 109 "flingcurve.touchscreen_alpha",
114 prefs::kFlingCurveTouchscreenGamma, 110 "flingcurve.touchscreen_beta",
111 "flingcurve.touchscreen_gamma",
115 }; 112 };
116 113
117 GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs) 114 GesturePrefsObserver::GesturePrefsObserver(PrefService* prefs)
118 : prefs_(prefs) { 115 : prefs_(prefs) {
116 for (size_t i = 0; i < arraysize(kPrefsToRemove); ++i) {
117 if (prefs->FindPreference(kPrefsToRemove[i]))
118 prefs->ClearPref(kPrefsToRemove[i]);
119 }
120
119 registrar_.Init(prefs); 121 registrar_.Init(prefs);
120 registrar_.RemoveAll(); 122 registrar_.RemoveAll();
121 base::Closure callback = base::Bind(&GesturePrefsObserver::Update, 123 base::Closure callback = base::Bind(&GesturePrefsObserver::Update,
122 base::Unretained(this)); 124 base::Unretained(this));
123 125
124 base::Closure notify_callback = base::Bind(&GesturePrefsObserver::Notify, 126 base::Closure notify_callback = base::Bind(&GesturePrefsObserver::Notify,
125 base::Unretained(this)); 127 base::Unretained(this));
126 128
127 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i) 129 for (size_t i = 0; i < arraysize(kPrefsToObserve); ++i)
128 registrar_.Add(kPrefsToObserve[i], callback); 130 registrar_.Add(kPrefsToObserve[i], callback);
129 131
130 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 132 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
131 for (size_t i = 0; i < overscroll_prefs.size(); ++i) 133 for (size_t i = 0; i < overscroll_prefs.size(); ++i)
132 registrar_.Add(overscroll_prefs[i].pref_name, callback); 134 registrar_.Add(overscroll_prefs[i].pref_name, callback);
133 135
134 for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); ++i)
135 registrar_.Add(kFlingTouchpadPrefs[i], notify_callback);
136 for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); ++i)
137 registrar_.Add(kFlingTouchscreenPrefs[i], notify_callback);
138
139 Update(); 136 Update();
140 } 137 }
141 138
142 GesturePrefsObserver::~GesturePrefsObserver() {} 139 GesturePrefsObserver::~GesturePrefsObserver() {}
143 140
144 void GesturePrefsObserver::Shutdown() { 141 void GesturePrefsObserver::Shutdown() {
145 registrar_.RemoveAll(); 142 registrar_.RemoveAll();
146 } 143 }
147 144
148 void GesturePrefsObserver::Update() { 145 void GesturePrefsObserver::Update() {
149 GestureConfiguration::set_fling_acceleration_curve_coefficients(0,
150 prefs_->GetDouble(prefs::kFlingAccelerationCurveCoefficient0));
151 GestureConfiguration::set_fling_acceleration_curve_coefficients(1,
152 prefs_->GetDouble(prefs::kFlingAccelerationCurveCoefficient1));
153 GestureConfiguration::set_fling_acceleration_curve_coefficients(2,
154 prefs_->GetDouble(prefs::kFlingAccelerationCurveCoefficient2));
155 GestureConfiguration::set_fling_acceleration_curve_coefficients(3,
156 prefs_->GetDouble(prefs::kFlingAccelerationCurveCoefficient3));
157 GestureConfiguration::set_fling_max_cancel_to_down_time_in_ms( 146 GestureConfiguration::set_fling_max_cancel_to_down_time_in_ms(
158 prefs_->GetInteger(prefs::kFlingMaxCancelToDownTimeInMs)); 147 prefs_->GetInteger(prefs::kFlingMaxCancelToDownTimeInMs));
159 GestureConfiguration::set_fling_max_tap_gap_time_in_ms( 148 GestureConfiguration::set_fling_max_tap_gap_time_in_ms(
160 prefs_->GetInteger(prefs::kFlingMaxTapGapTimeInMs)); 149 prefs_->GetInteger(prefs::kFlingMaxTapGapTimeInMs));
161 GestureConfiguration::set_tab_scrub_activation_delay_in_ms( 150 GestureConfiguration::set_tab_scrub_activation_delay_in_ms(
162 prefs_->GetInteger(prefs::kTabScrubActivationDelayInMS)); 151 prefs_->GetInteger(prefs::kTabScrubActivationDelayInMS));
163 GestureConfiguration::set_semi_long_press_time_in_seconds( 152 GestureConfiguration::set_semi_long_press_time_in_seconds(
164 prefs_->GetDouble( 153 prefs_->GetDouble(prefs::kSemiLongPressTimeInSeconds));
165 prefs::kSemiLongPressTimeInSeconds));
166 GestureConfiguration::set_max_separation_for_gesture_touches_in_pixels( 154 GestureConfiguration::set_max_separation_for_gesture_touches_in_pixels(
167 prefs_->GetDouble( 155 prefs_->GetDouble(prefs::kMaxSeparationForGestureTouchesInPixels));
168 prefs::kMaxSeparationForGestureTouchesInPixels));
169 156
170 UpdateOverscrollPrefs(); 157 UpdateOverscrollPrefs();
171 } 158 }
172 159
173 void GesturePrefsObserver::UpdateOverscrollPrefs() { 160 void GesturePrefsObserver::UpdateOverscrollPrefs() {
174 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 161 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
175 for (size_t i = 0; i < overscroll_prefs.size(); ++i) { 162 for (size_t i = 0; i < overscroll_prefs.size(); ++i) {
176 content::SetOverscrollConfig(overscroll_prefs[i].config, 163 content::SetOverscrollConfig(overscroll_prefs[i].config,
177 static_cast<float>(prefs_->GetDouble(overscroll_prefs[i].pref_name))); 164 static_cast<float>(prefs_->GetDouble(overscroll_prefs[i].pref_name)));
178 } 165 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
212 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs(); 199 const std::vector<OverscrollPref>& overscroll_prefs = GetOverscrollPrefs();
213 200
214 for (size_t i = 0; i < overscroll_prefs.size(); ++i) { 201 for (size_t i = 0; i < overscroll_prefs.size(); ++i) {
215 registry->RegisterDoublePref( 202 registry->RegisterDoublePref(
216 overscroll_prefs[i].pref_name, 203 overscroll_prefs[i].pref_name,
217 content::GetOverscrollConfig(overscroll_prefs[i].config), 204 content::GetOverscrollConfig(overscroll_prefs[i].config),
218 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 205 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
219 } 206 }
220 } 207 }
221 208
222 void GesturePrefsObserverFactoryAura::RegisterFlingCurveParameters(
223 user_prefs::PrefRegistrySyncable* registry) {
224 content::RendererPreferences def_prefs;
225
226 for (size_t i = 0; i < arraysize(kFlingTouchpadPrefs); i++)
227 registry->RegisterDoublePref(
228 kFlingTouchpadPrefs[i],
229 def_prefs.touchpad_fling_profile[i],
230 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
231
232 for (size_t i = 0; i < arraysize(kFlingTouchscreenPrefs); i++)
233 registry->RegisterDoublePref(
234 kFlingTouchscreenPrefs[i],
235 def_prefs.touchscreen_fling_profile[i],
236 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
237 }
238
239 void GesturePrefsObserverFactoryAura::RegisterProfilePrefs( 209 void GesturePrefsObserverFactoryAura::RegisterProfilePrefs(
240 user_prefs::PrefRegistrySyncable* registry) { 210 user_prefs::PrefRegistrySyncable* registry) {
241 registry->RegisterDoublePref(
242 prefs::kFlingAccelerationCurveCoefficient0,
243 GestureConfiguration::fling_acceleration_curve_coefficients(0),
244 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
245 registry->RegisterDoublePref(
246 prefs::kFlingAccelerationCurveCoefficient1,
247 GestureConfiguration::fling_acceleration_curve_coefficients(1),
248 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
249 registry->RegisterDoublePref(
250 prefs::kFlingAccelerationCurveCoefficient2,
251 GestureConfiguration::fling_acceleration_curve_coefficients(2),
252 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
253 registry->RegisterDoublePref(
254 prefs::kFlingAccelerationCurveCoefficient3,
255 GestureConfiguration::fling_acceleration_curve_coefficients(3),
256 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
257 registry->RegisterIntegerPref( 211 registry->RegisterIntegerPref(
258 prefs::kFlingMaxCancelToDownTimeInMs, 212 prefs::kFlingMaxCancelToDownTimeInMs,
259 GestureConfiguration::fling_max_cancel_to_down_time_in_ms(), 213 GestureConfiguration::fling_max_cancel_to_down_time_in_ms(),
260 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 214 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
261 registry->RegisterIntegerPref( 215 registry->RegisterIntegerPref(
262 prefs::kFlingMaxTapGapTimeInMs, 216 prefs::kFlingMaxTapGapTimeInMs,
263 GestureConfiguration::fling_max_tap_gap_time_in_ms(), 217 GestureConfiguration::fling_max_tap_gap_time_in_ms(),
264 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 218 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
265 registry->RegisterIntegerPref( 219 registry->RegisterIntegerPref(
266 prefs::kTabScrubActivationDelayInMS, 220 prefs::kTabScrubActivationDelayInMS,
267 GestureConfiguration::tab_scrub_activation_delay_in_ms(), 221 GestureConfiguration::tab_scrub_activation_delay_in_ms(),
268 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 222 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
269 registry->RegisterDoublePref( 223 registry->RegisterDoublePref(
270 prefs::kSemiLongPressTimeInSeconds, 224 prefs::kSemiLongPressTimeInSeconds,
271 GestureConfiguration::semi_long_press_time_in_seconds(), 225 GestureConfiguration::semi_long_press_time_in_seconds(),
272 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 226 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
273 registry->RegisterDoublePref( 227 registry->RegisterDoublePref(
274 prefs::kMaxSeparationForGestureTouchesInPixels, 228 prefs::kMaxSeparationForGestureTouchesInPixels,
275 GestureConfiguration::max_separation_for_gesture_touches_in_pixels(), 229 GestureConfiguration::max_separation_for_gesture_touches_in_pixels(),
276 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF); 230 user_prefs::PrefRegistrySyncable::UNSYNCABLE_PREF);
277 RegisterOverscrollPrefs(registry); 231 RegisterOverscrollPrefs(registry);
278 RegisterFlingCurveParameters(registry);
279 } 232 }
280 233
281 bool 234 bool
282 GesturePrefsObserverFactoryAura::ServiceIsCreatedWithBrowserContext() const { 235 GesturePrefsObserverFactoryAura::ServiceIsCreatedWithBrowserContext() const {
283 // Create the observer as soon as the profile is created. 236 // Create the observer as soon as the profile is created.
284 return true; 237 return true;
285 } 238 }
286 239
287 content::BrowserContext* 240 content::BrowserContext*
288 GesturePrefsObserverFactoryAura::GetBrowserContextToUse( 241 GesturePrefsObserverFactoryAura::GetBrowserContextToUse(
289 content::BrowserContext* context) const { 242 content::BrowserContext* context) const {
290 // Use same gesture preferences on incognito windows. 243 // Use same gesture preferences on incognito windows.
291 return chrome::GetBrowserContextRedirectedInIncognito(context); 244 return chrome::GetBrowserContextRedirectedInIncognito(context);
292 } 245 }
293 246
294 bool GesturePrefsObserverFactoryAura::ServiceIsNULLWhileTesting() const { 247 bool GesturePrefsObserverFactoryAura::ServiceIsNULLWhileTesting() const {
295 // Some tests replace the PrefService of the TestingProfile after the 248 // Some tests replace the PrefService of the TestingProfile after the
296 // GesturePrefsObserver has been created, which makes Shutdown() 249 // GesturePrefsObserver has been created, which makes Shutdown()
297 // remove the registrar from a non-existent PrefService. 250 // remove the registrar from a non-existent PrefService.
298 return true; 251 return true;
299 } 252 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/gesture_prefs_observer_factory_aura.h ('k') | chrome/browser/ui/webui/chromeos/salsa_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698