Index: content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc |
diff --git a/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc b/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc |
index 872cfb05b6b914c66e95362dec9aa8d593e8c420..7f024b3e3694fd8bbbcd8f82791a45eb9a090d42 100644 |
--- a/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc |
+++ b/content/browser/renderer_host/input/touchscreen_tap_suppression_controller.cc |
@@ -5,33 +5,39 @@ |
#include "content/browser/renderer_host/input/touchscreen_tap_suppression_controller.h" |
#include "content/browser/renderer_host/input/gesture_event_queue.h" |
+#include "content/browser/renderer_host/input/tap_suppression_controller.h" |
+#include "ui/events/gestures/gesture_configuration.h" |
+ |
+#if defined(OS_ANDROID) |
+#include "ui/gfx/android/view_configuration.h" |
+#endif |
using blink::WebInputEvent; |
namespace content { |
TouchscreenTapSuppressionController::TouchscreenTapSuppressionController( |
- GestureEventQueue* geq, |
- const TapSuppressionController::Config& config) |
- : gesture_event_queue_(geq), controller_(this, config) { |
+ GestureEventQueue* geq) |
+ : gesture_event_queue_(geq), |
+ controller_(new TapSuppressionController(this)) { |
} |
TouchscreenTapSuppressionController::~TouchscreenTapSuppressionController() {} |
void TouchscreenTapSuppressionController::GestureFlingCancel() { |
- controller_.GestureFlingCancel(); |
+ controller_->GestureFlingCancel(); |
} |
void TouchscreenTapSuppressionController::GestureFlingCancelAck( |
bool processed) { |
- controller_.GestureFlingCancelAck(processed); |
+ controller_->GestureFlingCancelAck(processed); |
} |
bool TouchscreenTapSuppressionController::FilterTapEvent( |
const GestureEventWithLatencyInfo& event) { |
switch (event.event.type) { |
case WebInputEvent::GestureTapDown: |
- if (!controller_.ShouldDeferTapDown()) |
+ if (!controller_->ShouldDeferTapDown()) |
return false; |
stashed_tap_down_.reset(new GestureEventWithLatencyInfo(event)); |
return true; |
@@ -48,13 +54,34 @@ |
case WebInputEvent::GestureTapCancel: |
case WebInputEvent::GestureTap: |
case WebInputEvent::GestureDoubleTap: |
- return controller_.ShouldSuppressTapEnd(); |
+ return controller_->ShouldSuppressTapEnd(); |
default: |
break; |
} |
return false; |
} |
+ |
+#if defined(OS_ANDROID) |
+// TODO(jdduke): Enable ui::GestureConfiguration on Android and initialize |
+// with parameters from ViewConfiguration. |
+int TouchscreenTapSuppressionController::MaxCancelToDownTimeInMs() { |
+ return gfx::ViewConfiguration::GetTapTimeoutInMs(); |
+} |
+ |
+int TouchscreenTapSuppressionController::MaxTapGapTimeInMs() { |
+ return gfx::ViewConfiguration::GetLongPressTimeoutInMs(); |
+} |
+#else |
+int TouchscreenTapSuppressionController::MaxCancelToDownTimeInMs() { |
+ return ui::GestureConfiguration::fling_max_cancel_to_down_time_in_ms(); |
+} |
+ |
+int TouchscreenTapSuppressionController::MaxTapGapTimeInMs() { |
+ return static_cast<int>( |
+ ui::GestureConfiguration::semi_long_press_time_in_seconds() * 1000); |
+} |
+#endif |
void TouchscreenTapSuppressionController::DropStashedTapDown() { |
stashed_tap_down_.reset(); |