| Index: ui/events/gesture_detection/gesture_configuration.cc
|
| diff --git a/ui/events/gesture_detection/gesture_configuration.cc b/ui/events/gesture_detection/gesture_configuration.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..708620908b2b86700be5c25a9a23e9c24ab9e499
|
| --- /dev/null
|
| +++ b/ui/events/gesture_detection/gesture_configuration.cc
|
| @@ -0,0 +1,154 @@
|
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#include "ui/events/gesture_detection/gesture_configuration.h"
|
| +
|
| +namespace ui {
|
| +
|
| +GestureConfiguration::GestureConfiguration()
|
| + : default_radius_(25),
|
| + max_distance_for_two_finger_tap_in_pixels_(300),
|
| + fling_max_cancel_to_down_time_in_ms_(400),
|
| + fling_max_tap_gap_time_in_ms_(200),
|
| + fling_velocity_cap_(17000.0f),
|
| + tab_scrub_activation_delay_in_ms_(200),
|
| + long_press_timeout_in_ms_(1000),
|
| + semi_long_press_time_in_seconds_(0.4),
|
| + max_seconds_between_double_click_(0.7),
|
| + max_separation_for_gesture_touches_in_pixels_(150),
|
| + max_swipe_deviation_angle_(20),
|
| + max_touch_down_duration_in_seconds_for_click_(0.8),
|
| + max_touch_move_in_pixels_for_click_(15),
|
| + max_distance_between_taps_for_double_tap_(20),
|
| + min_distance_for_pinch_scroll_in_pixels_(20),
|
| + min_pinch_update_distance_in_pixels_(5),
|
| + min_scroll_velocity_(30.0f),
|
| + min_swipe_speed_(20),
|
| +
|
| + // If this is too small, we currently can get single finger pinch zoom.
|
| + // See
|
| + // crbug.com/357237 for details.
|
| + min_scaling_span_in_pixels_(125),
|
| + show_press_delay_in_ms_(150) {
|
| +// TODO(jdduke): Disable and remove entirely when issues with intermittent
|
| +// scroll end detection on the Pixel are resolved, crbug.com/353702.
|
| +#if defined(OS_CHROMEOS)
|
| + scroll_debounce_interval_in_ms_ = 30;
|
| +#else
|
| + scroll_debounce_interval_in_ms_ = 0;
|
| +#endif
|
| +}
|
| +
|
| +GestureConfiguration::~GestureConfiguration() {
|
| +}
|
| +
|
| +GestureDetector::Config GestureConfiguration::DefaultGestureDetectorConfig() {
|
| + GestureDetector::Config config;
|
| + config.longpress_timeout =
|
| + base::TimeDelta::FromMilliseconds(long_press_timeout_in_ms());
|
| + config.showpress_timeout =
|
| + base::TimeDelta::FromMilliseconds(show_press_delay_in_ms());
|
| + config.double_tap_timeout =
|
| + base::TimeDelta::FromMilliseconds(double_tap_timeout_in_ms());
|
| + config.touch_slop = max_touch_move_in_pixels_for_click();
|
| + config.double_tap_slop = max_distance_between_taps_for_double_tap();
|
| + config.minimum_fling_velocity = min_scroll_velocity();
|
| + config.maximum_fling_velocity = fling_velocity_cap();
|
| +
|
| + return config;
|
| +}
|
| +
|
| +ScaleGestureDetector::Config
|
| +GestureConfiguration::DefaultScaleGestureDetectorConfig() {
|
| + ScaleGestureDetector::Config config;
|
| + config.span_slop = span_slop_in_pixels();
|
| + config.min_scaling_touch_major = min_scaling_touch_major_in_pixels();
|
| + config.min_scaling_span = min_scaling_span_in_pixels();
|
| + config.min_pinch_update_span_delta = min_pinch_update_distance_in_pixels();
|
| + return config;
|
| +}
|
| +
|
| +int GestureConfiguration::default_radius() {
|
| + return default_radius_;
|
| +}
|
| +int GestureConfiguration::fling_max_cancel_to_down_time_in_ms() {
|
| + return fling_max_cancel_to_down_time_in_ms_;
|
| +}
|
| +int GestureConfiguration::fling_max_tap_gap_time_in_ms() {
|
| + return fling_max_tap_gap_time_in_ms_;
|
| +}
|
| +int GestureConfiguration::long_press_timeout_in_ms() {
|
| + return long_press_timeout_in_ms_;
|
| +}
|
| +double GestureConfiguration::semi_long_press_time_in_seconds() {
|
| + return semi_long_press_time_in_seconds_;
|
| +}
|
| +double GestureConfiguration::max_distance_for_two_finger_tap_in_pixels() {
|
| + return max_distance_for_two_finger_tap_in_pixels_;
|
| +}
|
| +double GestureConfiguration::max_seconds_between_double_click() {
|
| + return max_seconds_between_double_click_;
|
| +}
|
| +int GestureConfiguration::max_separation_for_gesture_touches_in_pixels() {
|
| + return max_separation_for_gesture_touches_in_pixels_;
|
| +}
|
| +float GestureConfiguration::max_swipe_deviation_angle() {
|
| + return max_swipe_deviation_angle_;
|
| +}
|
| +double GestureConfiguration::max_touch_down_duration_in_seconds_for_click() {
|
| + return max_touch_down_duration_in_seconds_for_click_;
|
| +}
|
| +double GestureConfiguration::max_touch_move_in_pixels_for_click() {
|
| + return max_touch_move_in_pixels_for_click_;
|
| +}
|
| +double GestureConfiguration::max_distance_between_taps_for_double_tap() {
|
| + return max_distance_between_taps_for_double_tap_;
|
| +}
|
| +double GestureConfiguration::min_distance_for_pinch_scroll_in_pixels() {
|
| + return min_distance_for_pinch_scroll_in_pixels_;
|
| +}
|
| +double GestureConfiguration::min_pinch_update_distance_in_pixels() {
|
| + return min_pinch_update_distance_in_pixels_;
|
| +}
|
| +float GestureConfiguration::min_scroll_velocity() {
|
| + return min_scroll_velocity_;
|
| +}
|
| +double GestureConfiguration::min_swipe_speed() {
|
| + return min_swipe_speed_;
|
| +}
|
| +int GestureConfiguration::min_scaling_span_in_pixels() {
|
| + return min_scaling_span_in_pixels_;
|
| +}
|
| +
|
| +int GestureConfiguration::show_press_delay_in_ms() {
|
| + return show_press_delay_in_ms_;
|
| +}
|
| +int GestureConfiguration::scroll_debounce_interval_in_ms() {
|
| + return scroll_debounce_interval_in_ms_;
|
| +}
|
| +float GestureConfiguration::fling_velocity_cap() {
|
| + return fling_velocity_cap_;
|
| +}
|
| +// TODO(davemoore): Move into chrome/browser/ui.
|
| +int GestureConfiguration::tab_scrub_activation_delay_in_ms() {
|
| + return tab_scrub_activation_delay_in_ms_;
|
| +}
|
| +
|
| +int GestureConfiguration::double_tap_timeout_in_ms() {
|
| + return double_tap_timeout_in_ms_;
|
| +}
|
| +
|
| +int GestureConfiguration::min_scaling_touch_major_in_pixels() {
|
| + return min_scaling_touch_major_in_pixels_;
|
| +}
|
| +
|
| +int GestureConfiguration::touch_slop_in_pixels() {
|
| + return touch_slop_in_pixels_;
|
| +}
|
| +
|
| +int GestureConfiguration::span_slop_in_pixels() {
|
| + return span_slop_in_pixels_;
|
| +}
|
| +
|
| +} // namespace ui
|
|
|