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

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

Issue 235003005: Consolidate all touch/gesture related constants in content (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Compilation fixes 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.cc
diff --git a/content/browser/renderer_host/input/gesture_event_queue.cc b/content/browser/renderer_host/input/gesture_event_queue.cc
index 2fb46b6fa0eb88ea13efb88688679f7ae90197b3..9811e7357e1782e91bb64ff82a8b7f48fb0cb9dd 100644
--- a/content/browser/renderer_host/input/gesture_event_queue.cc
+++ b/content/browser/renderer_host/input/gesture_event_queue.cc
@@ -4,7 +4,6 @@
#include "content/browser/renderer_host/input/gesture_event_queue.h"
-#include "base/command_line.h"
#include "base/debug/trace_event.h"
#include "base/strings/string_number_conversions.h"
#include "content/browser/renderer_host/input/input_router.h"
@@ -16,34 +15,27 @@ using blink::WebGestureEvent;
using blink::WebInputEvent;
namespace content {
-namespace {
-// Default debouncing interval duration: if a scroll is in progress, non-scroll
-// events during this interval are deferred to either its end or discarded on
-// receipt of another GestureScrollUpdate.
-static const int kDebouncingIntervalTimeMs = 30;
-
-} // namespace
+GestureEventQueue::Config::Config() {
+}
GestureEventQueue::GestureEventQueue(
GestureEventQueueClient* client,
- TouchpadTapSuppressionControllerClient* touchpad_client)
- : client_(client),
- fling_in_progress_(false),
- scrolling_in_progress_(false),
- ignore_next_ack_(false),
- touchpad_tap_suppression_controller_(
- new TouchpadTapSuppressionController(touchpad_client)),
- touchscreen_tap_suppression_controller_(
- new TouchscreenTapSuppressionController(this)),
- debounce_interval_time_ms_(kDebouncingIntervalTimeMs),
- debounce_enabled_(true) {
+ TouchpadTapSuppressionControllerClient* touchpad_client,
+ const Config& config)
+ : client_(client),
+ fling_in_progress_(false),
+ scrolling_in_progress_(false),
+ ignore_next_ack_(false),
+ touchpad_tap_suppression_controller_(
+ touchpad_client,
+ config.touchpad_tap_suppression_config),
+ touchscreen_tap_suppression_controller_(
+ this,
+ config.touchscreen_tap_suppression_config),
+ debounce_interval_(config.debounce_interval) {
DCHECK(client);
- DCHECK(touchpad_tap_suppression_controller_);
- if (CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kDisableGestureDebounce)) {
- debounce_enabled_ = false;
- }
+ DCHECK(touchpad_client);
}
GestureEventQueue::~GestureEventQueue() { }
@@ -66,14 +58,14 @@ bool GestureEventQueue::ShouldDiscardFlingCancelEvent(
bool GestureEventQueue::ShouldForwardForBounceReduction(
const GestureEventWithLatencyInfo& gesture_event) {
- if (!debounce_enabled_)
+ if (debounce_interval_ <= base::TimeDelta())
return true;
switch (gesture_event.event.type) {
case WebInputEvent::GestureScrollUpdate:
if (!scrolling_in_progress_) {
debounce_deferring_timer_.Start(
FROM_HERE,
- base::TimeDelta::FromMilliseconds(debounce_interval_time_ms_),
+ debounce_interval_,
this,
&GestureEventQueue::SendScrollEndingEventsNow);
} else {
@@ -127,9 +119,9 @@ bool GestureEventQueue::ShouldForwardForTapSuppression(
switch (gesture_event.event.type) {
case WebInputEvent::GestureFlingCancel:
if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen)
- touchscreen_tap_suppression_controller_->GestureFlingCancel();
+ touchscreen_tap_suppression_controller_.GestureFlingCancel();
else
- touchpad_tap_suppression_controller_->GestureFlingCancel();
+ touchpad_tap_suppression_controller_.GestureFlingCancel();
return true;
case WebInputEvent::GestureTapDown:
case WebInputEvent::GestureShowPress:
@@ -138,8 +130,8 @@ bool GestureEventQueue::ShouldForwardForTapSuppression(
case WebInputEvent::GestureTap:
case WebInputEvent::GestureDoubleTap:
if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen) {
- return !touchscreen_tap_suppression_controller_->
- FilterTapEvent(gesture_event);
+ return !touchscreen_tap_suppression_controller_.FilterTapEvent(
+ gesture_event);
}
return true;
default:
@@ -200,9 +192,9 @@ void GestureEventQueue::ProcessGestureAck(InputEventAckState ack_result,
const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
if (type == WebInputEvent::GestureFlingCancel) {
if (event_with_latency.event.sourceDevice == WebGestureEvent::Touchscreen)
- touchscreen_tap_suppression_controller_->GestureFlingCancelAck(processed);
+ touchscreen_tap_suppression_controller_.GestureFlingCancelAck(processed);
else
- touchpad_tap_suppression_controller_->GestureFlingCancelAck(processed);
+ touchpad_tap_suppression_controller_.GestureFlingCancelAck(processed);
}
DCHECK_LT(event_index, coalesced_gesture_events_.size());
coalesced_gesture_events_.erase(coalesced_gesture_events_.begin() +
@@ -238,7 +230,7 @@ void GestureEventQueue::ProcessGestureAck(InputEventAckState ack_result,
TouchpadTapSuppressionController*
GestureEventQueue::GetTouchpadTapSuppressionController() {
- return touchpad_tap_suppression_controller_.get();
+ return &touchpad_tap_suppression_controller_;
}
bool GestureEventQueue::ExpectingGestureAck() const {

Powered by Google App Engine
This is Rietveld 408576698