| Index: content/browser/renderer_host/input/immediate_input_router.h
|
| diff --git a/content/browser/renderer_host/input/immediate_input_router.h b/content/browser/renderer_host/input/immediate_input_router.h
|
| index 0c6a71a6d7cdd97e5d7e185db12536f974a9a040..33254a028ae898e599fcffc7620a067940215a01 100644
|
| --- a/content/browser/renderer_host/input/immediate_input_router.h
|
| +++ b/content/browser/renderer_host/input/immediate_input_router.h
|
| @@ -10,7 +10,8 @@
|
| #include "base/basictypes.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/time/time.h"
|
| -#include "content/browser/renderer_host/input/gesture_event_filter.h"
|
| +#include "content/browser/renderer_host/input/fling/flinger.h"
|
| +#include "content/browser/renderer_host/input/gesture_event_filter_client.h"
|
| #include "content/browser/renderer_host/input/input_router.h"
|
| #include "content/browser/renderer_host/input/touch_event_queue.h"
|
| #include "content/browser/renderer_host/input/touchpad_tap_suppression_controller.h"
|
| @@ -25,7 +26,7 @@ struct LatencyInfo;
|
| }
|
|
|
| namespace content {
|
| -
|
| +class BaseGestureEventFilter;
|
| class InputAckHandler;
|
| class InputRouterClient;
|
| class OverscrollController;
|
| @@ -37,7 +38,8 @@ class CONTENT_EXPORT ImmediateInputRouter
|
| : public NON_EXPORTED_BASE(InputRouter),
|
| public NON_EXPORTED_BASE(GestureEventFilterClient),
|
| public NON_EXPORTED_BASE(TouchEventQueueClient),
|
| - public NON_EXPORTED_BASE(TouchpadTapSuppressionControllerClient) {
|
| + public NON_EXPORTED_BASE(TouchpadTapSuppressionControllerClient),
|
| + public NON_EXPORTED_BASE(FlingHelper) {
|
| public:
|
| ImmediateInputRouter(IPC::Sender* sender,
|
| InputRouterClient* client,
|
| @@ -86,6 +88,11 @@ private:
|
| virtual void OnGestureEventAck(const GestureEventWithLatencyInfo& event,
|
| InputEventAckState ack_result) OVERRIDE;
|
|
|
| + // FlingHelper
|
| + virtual void SendEventForFling(const blink::WebInputEvent& event) OVERRIDE;
|
| + virtual void FlingFinished(
|
| + blink::WebGestureEvent::SourceDevice source) OVERRIDE;
|
| +
|
| bool SendMoveCaret(scoped_ptr<IPC::Message> message);
|
| bool SendSelectRange(scoped_ptr<IPC::Message> message);
|
| bool Send(IPC::Message* message);
|
| @@ -176,6 +183,7 @@ private:
|
|
|
| int routing_id() const { return routing_id_; }
|
|
|
| + BaseGestureEventFilter* gesture_event_filter();
|
|
|
| IPC::Sender* sender_;
|
| InputRouterClient* client_;
|
| @@ -239,7 +247,17 @@ private:
|
| AckSource current_ack_source_;
|
|
|
| scoped_ptr<TouchEventQueue> touch_event_queue_;
|
| - scoped_ptr<GestureEventFilter> gesture_event_filter_;
|
| + scoped_ptr<Flinger> flinger_;
|
| +
|
| + class EventFilteringHelper;
|
| + scoped_ptr<EventFilteringHelper> event_filter_;
|
| +
|
| + enum InputMessageSource {
|
| + MESSAGE_SOURCE_FLING,
|
| + MESSAGE_SOURCE_REGULAR,
|
| + };
|
| +
|
| + std::queue<InputMessageSource> in_process_messages_sources_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ImmediateInputRouter);
|
| };
|
|
|