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

Unified Diff: content/browser/renderer_host/tap_suppression_controller.h

Issue 12087140: Suppress touchscreen tap immediately after a GestureFlingCancel (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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/tap_suppression_controller.h
diff --git a/content/browser/renderer_host/tap_suppression_controller.h b/content/browser/renderer_host/tap_suppression_controller.h
deleted file mode 100644
index 84a7c4821dfd6dc4a90e88d7cce2f3099f74f30d..0000000000000000000000000000000000000000
--- a/content/browser/renderer_host/tap_suppression_controller.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
mohsen 2013/02/04 15:09:05 This file is renamed to touchpad_tap_suppression_c
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CONTENT_BROWSER_RENDERER_HOST_TAP_SUPPRESSION_CONTROLLER_H_
-#define CONTENT_BROWSER_RENDERER_HOST_TAP_SUPPRESSION_CONTROLLER_H_
-
-#include "base/time.h"
-#include "base/timer.h"
-#include "third_party/WebKit/Source/WebKit/chromium/public/WebInputEvent.h"
-
-namespace content {
-
-class MockRenderWidgetHost;
-class RenderWidgetHostImpl;
-
-// Controls the suppression of taps (rapid mousedown/mouseup sequences)
-// immediately following the dispatch of a WebGestureFlingCancel event.
-// Only mousedown/mouseup of sufficient speed and within a specified time
-// window after a WebGestureFlingCancel are suppressed.
-class TapSuppressionController {
- public:
-
- explicit TapSuppressionController(RenderWidgetHostImpl*);
- ~TapSuppressionController();
-
- // Called on the arrival of a mouse up event. Returns true if the hosting RWHV
- // should suppress the remaining mouseup handling at this time.
- bool ShouldSuppressMouseUp();
-
- // Called on a mouse down. Returns true if the hosting RWHV should not
- // continue with handling the mouse down event at this time.
- bool ShouldDeferMouseDown(
- const WebKit::WebMouseEvent& event);
-
- // Called on an ack of WebGestureFlingCancel event. |processed| is true when
- // the GestureFlingCancel actually stopped a fling and therefore should
- // suppress the forwarding of the following tap.
- void GestureFlingCancelAck(bool processed);
-
- // Called on the dispatch of a WebGestureFlingCancel event.
- void GestureFlingCancel(double cancel_time);
-
- private:
- friend class MockRenderWidgetHost;
-
- enum State {
- NOTHING,
- GFC_IN_PROGRESS,
- MD_STASHED,
- LAST_CANCEL_STOPPED_FLING,
- };
-
- // Invoked once the maximum time deemed a tap from a mouse down event
- // has expired. If the mouse up has not yet arrived, indicates that the mouse
- // down / mouse up pair do not form a tap.
- void MouseDownTimerExpired();
-
- // Only a RenderWidgetHostViewImpl can own an instance.
- RenderWidgetHostImpl* render_widget_host_;
- base::OneShotTimer<TapSuppressionController> mouse_down_timer_;
- WebKit::WebMouseEvent stashed_mouse_down_;
- State state_;
-
- // TODO(rjkroege): During debugging, the event times did not prove reliable.
- // Replace the use of base::TimeTicks with an accurate event time when they
- // become available post http://crbug.com/119556.
- base::TimeTicks fling_cancel_time_;
-
- DISALLOW_COPY_AND_ASSIGN(TapSuppressionController);
-};
-
-} // namespace content
-
-#endif // CONTENT_BROWSER_RENDERER_HOST_TAP_SUPPRESSION_CONTROLLER_H_

Powered by Google App Engine
This is Rietveld 408576698