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

Unified Diff: content/browser/renderer_host/input/gesture_event_queue.h

Issue 235003005: Consolidate all touch/gesture related constants in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup Created 6 years, 8 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
Index: content/browser/renderer_host/input/gesture_event_queue.h
diff --git a/content/browser/renderer_host/input/gesture_event_queue.h b/content/browser/renderer_host/input/gesture_event_queue.h
index ca7f648dc54c593bcf02658e93beb6b6e3e8d835..cbfddb4f2aadb12e2636c467e4e7ae1720f86680 100644
--- a/content/browser/renderer_host/input/gesture_event_queue.h
+++ b/content/browser/renderer_host/input/gesture_event_queue.h
@@ -10,6 +10,9 @@
#include "base/basictypes.h"
#include "base/memory/scoped_ptr.h"
#include "base/timer/timer.h"
+#include "content/browser/renderer_host/input/tap_suppression_controller.h"
+#include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h"
+#include "content/browser/renderer_host/input/touchscreen_tap_suppression_controller.h"
#include "content/common/content_export.h"
#include "content/port/browser/event_with_latency_info.h"
#include "content/port/common/input_event_ack_state.h"
@@ -20,9 +23,6 @@ namespace content {
class GestureEventQueueTest;
class InputRouter;
class MockRenderWidgetHost;
-class TouchpadTapSuppressionController;
-class TouchpadTapSuppressionControllerClient;
-class TouchscreenTapSuppressionController;
// Interface with which the GestureEventQueue can forward gesture events, and
// dispatch gesture event responses.
@@ -61,9 +61,26 @@ class CONTENT_EXPORT GestureEventQueueClient {
// http://crbug.com/148443.
class CONTENT_EXPORT GestureEventQueue {
public:
+ struct CONTENT_EXPORT Config {
+ Config();
+
+ // Controls touchpad-related tap suppression, disabled by default.
+ TapSuppressionController::Config touchpad_tap_suppression_config;
+
+ // Controls touchscreen-related tap suppression, disabled by default.
+ TapSuppressionController::Config touchscreen_tap_suppression_config;
+
+ // Determines whether non-scroll gesture events are "debounced" during an
+ // active scroll sequence, suppressing brief scroll interruptions.
+ // Disabled by default.
+ base::TimeDelta debounce_interval;
tdresser 2014/05/01 13:51:56 A debounce_interval of 0 should be the same as dis
jdduke (slow) 2014/05/01 16:44:25 That's fine with me, I wasn't sure how explicit we
+ bool enable_debounce_during_scroll;
+ };
+
// Both |client| and |touchpad_client| must outlive the GestureEventQueue.
GestureEventQueue(GestureEventQueueClient* client,
- TouchpadTapSuppressionControllerClient* touchpad_client);
+ TouchpadTapSuppressionControllerClient* touchpad_client,
+ const Config& config);
~GestureEventQueue();
// Returns |true| if the caller should immediately forward the provided
@@ -96,12 +113,12 @@ class CONTENT_EXPORT GestureEventQueue {
debouncing_deferral_queue_.empty();
}
- void set_debounce_enabled_for_testing(bool enabled) {
+ void set_debounce_enabled_for_testing(bool enabled) {
debounce_enabled_ = enabled;
}
void set_debounce_interval_time_ms_for_testing(int interval_time_ms) {
- debounce_interval_time_ms_ = interval_time_ms;
+ debounce_interval_ = base::TimeDelta::FromMilliseconds(interval_time_ms);
}
private:
@@ -188,14 +205,12 @@ class CONTENT_EXPORT GestureEventQueue {
// tap.
// TODO(mohsen): Move touchpad tap suppression out of GestureEventQueue since
// GEQ is meant to only be used for touchscreen gesture events.
- scoped_ptr<TouchpadTapSuppressionController>
- touchpad_tap_suppression_controller_;
+ TouchpadTapSuppressionController touchpad_tap_suppression_controller_;
// An object tracking the state of touchscreen on the delivery of gesture tap
// events to the renderer to filter taps immediately after a touchscreen fling
// canceling tap.
- scoped_ptr<TouchscreenTapSuppressionController>
- touchscreen_tap_suppression_controller_;
+ TouchscreenTapSuppressionController touchscreen_tap_suppression_controller_;
typedef std::deque<GestureEventWithLatencyInfo> GestureQueue;
@@ -214,8 +229,7 @@ class CONTENT_EXPORT GestureEventQueue {
GestureQueue debouncing_deferral_queue_;
// Time window in which to debounce scroll/fling ends.
- // TODO(rjkroege): Make this dynamically configurable.
- int debounce_interval_time_ms_;
+ base::TimeDelta debounce_interval_;
// Whether scroll-ending events should be deferred when a scroll is active.
// Defaults to true.

Powered by Google App Engine
This is Rietveld 408576698