Index: content/browser/renderer_host/input/touchpad_tap_suppression_controller.cc |
diff --git a/content/browser/renderer_host/input/touchpad_tap_suppression_controller.cc b/content/browser/renderer_host/input/touchpad_tap_suppression_controller.cc |
index d92077920277a2b6db8c6b0d757e556b1510aa2e..d3097420d1676d1c5137f2642aef754487278efc 100644 |
--- a/content/browser/renderer_host/input/touchpad_tap_suppression_controller.cc |
+++ b/content/browser/renderer_host/input/touchpad_tap_suppression_controller.cc |
@@ -4,45 +4,43 @@ |
#include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h" |
-#include "content/browser/renderer_host/input/tap_suppression_controller.h" |
-#include "content/browser/renderer_host/input/tap_suppression_controller_client.h" |
- |
-// The default implementation of the TouchpadTapSuppressionController does not |
-// suppress taps. Touchpad tap suppression is needed only on CrOS. |
- |
namespace content { |
TouchpadTapSuppressionController::TouchpadTapSuppressionController( |
- TouchpadTapSuppressionControllerClient* /* client */) |
- : client_(NULL) {} |
+ TouchpadTapSuppressionControllerClient* client, |
+ const TapSuppressionController::Config& config) |
+ : client_(client), controller_(this, config) { |
+} |
TouchpadTapSuppressionController::~TouchpadTapSuppressionController() {} |
-void TouchpadTapSuppressionController::GestureFlingCancel() {} |
- |
-void TouchpadTapSuppressionController::GestureFlingCancelAck( |
- bool /*processed*/) { |
+void TouchpadTapSuppressionController::GestureFlingCancel() { |
+ controller_.GestureFlingCancel(); |
} |
-bool TouchpadTapSuppressionController::ShouldDeferMouseDown( |
- const MouseEventWithLatencyInfo& /*event*/) { |
- return false; |
+void TouchpadTapSuppressionController::GestureFlingCancelAck(bool processed) { |
+ controller_.GestureFlingCancelAck(processed); |
} |
-bool TouchpadTapSuppressionController::ShouldSuppressMouseUp() { return false; } |
- |
-int TouchpadTapSuppressionController::MaxCancelToDownTimeInMs() { |
- return 0; |
+bool TouchpadTapSuppressionController::ShouldDeferMouseDown( |
+ const MouseEventWithLatencyInfo& event) { |
+ bool should_defer = controller_.ShouldDeferTapDown(); |
+ if (should_defer) |
+ stashed_mouse_down_ = event; |
+ return should_defer; |
} |
-int TouchpadTapSuppressionController::MaxTapGapTimeInMs() { |
- return 0; |
+bool TouchpadTapSuppressionController::ShouldSuppressMouseUp() { |
+ return controller_.ShouldSuppressTapEnd(); |
} |
void TouchpadTapSuppressionController::DropStashedTapDown() { |
} |
void TouchpadTapSuppressionController::ForwardStashedTapDown() { |
+ // Mouse downs are not handled by gesture event filter; so, they are |
+ // immediately forwarded to the renderer. |
+ client_->SendMouseEventImmediately(stashed_mouse_down_); |
} |
} // namespace content |