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

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

Issue 135403009: Rename GestureEventQueue to TouchDispositionGestureFilter (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix comment Created 6 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/input/gesture_event_queue.h
diff --git a/content/browser/renderer_host/input/gesture_event_queue.h b/content/browser/renderer_host/input/gesture_event_queue.h
deleted file mode 100644
index 8855453494f884714463a96b278c789eafd25cce..0000000000000000000000000000000000000000
--- a/content/browser/renderer_host/input/gesture_event_queue.h
+++ /dev/null
@@ -1,94 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// 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_INPUT_GESTURE_EVENT_QUEUE_H_
-#define CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_EVENT_QUEUE_H_
-
-#include <deque>
-#include <queue>
-
-#include "content/browser/renderer_host/input/gesture_event_packet.h"
-#include "content/common/content_export.h"
-#include "content/port/common/input_event_ack_state.h"
-#include "third_party/WebKit/public/web/WebInputEvent.h"
-
-namespace content {
-
-// Interface with which the |GestureEventQueue| forwards gestures for a given
-// touch event.
-class CONTENT_EXPORT GestureEventQueueClient {
- public:
- virtual void ForwardGestureEvent(const blink::WebGestureEvent&) = 0;
-};
-
-// Handles dispatch of touch-derived gestures created by the platform.
-// Gestures are forwarded or dropped depending on the ack dispositions of the
-// generating touch sequence.
-class CONTENT_EXPORT GestureEventQueue {
- public:
- explicit GestureEventQueue(GestureEventQueueClient* client);
- ~GestureEventQueue();
-
- // To be called upon receipt of gesture-related events. In particular,
- // |packet| contains [0, n] gestures that correspond to a given event. That
- // event may be a touch, or a touch timeout for certain stationary gestures.
- // It is imperative that a single packet is received for *each* touch event,
- // even those that did not produce a gesture.
- void OnGestureEventPacket(const GestureEventPacket& packet);
-
- // To be called upon receipt of *all* touch event acks.
- void OnTouchEventAck(InputEventAckState ack_state);
-
- private:
- // Utility class for tracking gesture events and dispositions for a single
- // gesture sequence. A single sequence corresponds to all gestures created
- // between the first finger down and the last finger up, including gestures
- // generated by timeouts from a statinoary finger.
- class GestureSequence {
- public:
- GestureSequence();
- ~GestureSequence();
-
- void Push(const GestureEventPacket& packet);
- void Pop();
- const GestureEventPacket& Front() const;
- void UpdateState(InputEventAckState ack_state);
- bool IsGesturePrevented() const;
- bool IsEmpty() const;
-
- private:
- std::queue<GestureEventPacket> packets_;
- enum GestureHandlingState {
- PENDING, // The sequence has yet to receive an ack.
- ALLOWED_UNTIL_PREVENTED, // Gestures in the sequence are allowed until
- // a source touch is preventDefault'ed.
- ALWAYS_ALLOWED, // All remaining sequence gestures are forwarded.
- ALWAYS_PREVENTED // All remaining sequence gestures are dropped.
- };
- GestureHandlingState state_;
- };
- void UpdateAndDispatchPackets(GestureSequence* sequence,
- InputEventAckState ack_result);
- void SendPacket(const GestureEventPacket& packet);
- void SendGesture(const blink::WebGestureEvent& gesture);
- void CancelTapIfNecessary();
- void CancelFlingIfNecessary();
- GestureSequence& Head();
- GestureSequence& Tail();
-
- GestureEventQueueClient* client_;
- std::queue<GestureSequence> sequences_;
-
- // Bookkeeping for inserting synthetic Gesture{Tap,Fling}Cancel events
- // when necessary, e.g., GestureTapCancel when scrolling begins, or
- // GestureFlingCancel when a user taps following a GestureFlingStart.
- bool needs_tap_ending_event_;
- bool needs_fling_ending_event_;
-
- DISALLOW_COPY_AND_ASSIGN(GestureEventQueue);
-};
-
-} // namespace content
-
-#endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_GESTURE_EVENT_QUEUE_H_
« no previous file with comments | « content/browser/android/content_view_core_impl.cc ('k') | content/browser/renderer_host/input/gesture_event_queue.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698