1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h"
9 TouchpadTapSuppressionController::TouchpadTapSuppressionController(
10 TouchpadTapSuppressionControllerClient
* client
,
11 const TapSuppressionController::Config
& config
)
12 : client_(client
), controller_(this, config
) {
15 TouchpadTapSuppressionController::~TouchpadTapSuppressionController() {}
17 void TouchpadTapSuppressionController::GestureFlingCancel() {
18 controller_
.GestureFlingCancel();
21 void TouchpadTapSuppressionController::GestureFlingCancelAck(bool processed
) {
22 controller_
.GestureFlingCancelAck(processed
);
25 bool TouchpadTapSuppressionController::ShouldDeferMouseDown(
26 const MouseEventWithLatencyInfo
& event
) {
27 bool should_defer
= controller_
.ShouldDeferTapDown();
29 stashed_mouse_down_
= event
;
33 bool TouchpadTapSuppressionController::ShouldSuppressMouseUp() {
34 return controller_
.ShouldSuppressTapEnd();
37 void TouchpadTapSuppressionController::DropStashedTapDown() {
40 void TouchpadTapSuppressionController::ForwardStashedTapDown() {
41 // Mouse downs are not handled by gesture event filter; so, they are
42 // immediately forwarded to the renderer.
43 client_
->SendMouseEventImmediately(stashed_mouse_down_
);
46 } // namespace content