| Index: content/browser/renderer_host/input/input_router_impl.h
|
| diff --git a/content/browser/renderer_host/input/input_router_impl.h b/content/browser/renderer_host/input/input_router_impl.h
|
| index 830911b893f4ee4b8e34293abdfa7ed55d024173..a4e481b7e5b3537d0330d1bfbc9d446751199dfa 100644
|
| --- a/content/browser/renderer_host/input/input_router_impl.h
|
| +++ b/content/browser/renderer_host/input/input_router_impl.h
|
| @@ -180,6 +180,12 @@ private:
|
| // action and the command-line configured |touch_ack_timeout_supported_|.
|
| void UpdateTouchAckTimeoutEnabled();
|
|
|
| + // If a flush has been requested, signals a completed flush to the client if
|
| + // all events have been dispatched (i.e., |HasPendingEvents()| is false).
|
| + void SignalFlushedIfNecessary();
|
| +
|
| + bool HasPendingEvents() const;
|
| +
|
| bool IsInOverscrollGesture() const;
|
|
|
| int routing_id() const { return routing_id_; }
|
| @@ -215,8 +221,6 @@ private:
|
| bool mouse_wheel_pending_;
|
| MouseWheelEventWithLatencyInfo current_wheel_event_;
|
|
|
| - typedef std::deque<MouseWheelEventWithLatencyInfo> WheelEventQueue;
|
| -
|
| // (Similar to |next_mouse_move_|.) The next mouse wheel events to send.
|
| // Unlike mouse moves, mouse wheel events received while one is pending are
|
| // coalesced (by accumulating deltas) if they match the previous event in
|
| @@ -224,17 +228,16 @@ private:
|
| // high rate; not waiting for the ack results in jankiness, and using the same
|
| // mechanism as for mouse moves (just dropping old events when multiple ones
|
| // would be queued) results in very slow scrolling.
|
| + typedef std::deque<MouseWheelEventWithLatencyInfo> WheelEventQueue;
|
| WheelEventQueue coalesced_mouse_wheel_events_;
|
|
|
| // The time when an input event was sent to the RenderWidget.
|
| base::TimeTicks input_event_start_time_;
|
|
|
| - // Queue of keyboard events that we need to track.
|
| - typedef std::deque<NativeWebKeyboardEvent> KeyQueue;
|
| -
|
| // A queue of keyboard events. We can't trust data from the renderer so we
|
| // stuff key events into a queue and pop them out on ACK, feeding our copy
|
| // back to whatever unhandled handler instead of the returned version.
|
| + typedef std::deque<NativeWebKeyboardEvent> KeyQueue;
|
| KeyQueue key_queue_;
|
|
|
| // Whether touch ack timeout handling has been enabled via the command line.
|
| @@ -248,6 +251,10 @@ private:
|
| // Defaults to ACK_SOURCE_NONE.
|
| AckSource current_ack_source_;
|
|
|
| + // Whether a call to |Flush()| has yet been accompanied by a |DidFlush()| call
|
| + // to the client_ after all events have been dispatched/acked.
|
| + bool flush_requested_;
|
| +
|
| scoped_ptr<TouchEventQueue> touch_event_queue_;
|
| scoped_ptr<GestureEventQueue> gesture_event_queue_;
|
| TouchActionFilter touch_action_filter_;
|
|
|