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

Side by Side Diff: content/browser/renderer_host/input/input_router_impl.h

Issue 657803002: Update touch selection to only modify one selection point at a time. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_ 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_
6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_ 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_
7 7
8 #include <queue> 8 #include <queue>
9 9
10 #include "base/basictypes.h" 10 #include "base/basictypes.h"
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 void OnTouchEventAck(const TouchEventWithLatencyInfo& event, 88 void OnTouchEventAck(const TouchEventWithLatencyInfo& event,
89 InputEventAckState ack_result) override; 89 InputEventAckState ack_result) override;
90 90
91 // GetureEventFilterClient 91 // GetureEventFilterClient
92 void SendGestureEventImmediately( 92 void SendGestureEventImmediately(
93 const GestureEventWithLatencyInfo& gesture_event) override; 93 const GestureEventWithLatencyInfo& gesture_event) override;
94 void OnGestureEventAck(const GestureEventWithLatencyInfo& event, 94 void OnGestureEventAck(const GestureEventWithLatencyInfo& event,
95 InputEventAckState ack_result) override; 95 InputEventAckState ack_result) override;
96 96
97 bool SendMoveCaret(scoped_ptr<IPC::Message> message); 97 bool SendMoveCaret(scoped_ptr<IPC::Message> message);
98 bool SendSelectRange(scoped_ptr<IPC::Message> message); 98 bool SendSelectMessage(scoped_ptr<IPC::Message> message);
99 bool Send(IPC::Message* message); 99 bool Send(IPC::Message* message);
100 100
101 // Filters and forwards |input_event| to the appropriate handler. 101 // Filters and forwards |input_event| to the appropriate handler.
102 void FilterAndSendWebInputEvent(const blink::WebInputEvent& input_event, 102 void FilterAndSendWebInputEvent(const blink::WebInputEvent& input_event,
103 const ui::LatencyInfo& latency_info, 103 const ui::LatencyInfo& latency_info,
104 bool is_keyboard_shortcut); 104 bool is_keyboard_shortcut);
105 105
106 // Utility routine for filtering and forwarding |input_event| to the 106 // Utility routine for filtering and forwarding |input_event| to the
107 // appropriate handler. |input_event| will be offered to the overscroll 107 // appropriate handler. |input_event| will be offered to the overscroll
108 // controller, client and renderer, in that order. 108 // controller, client and renderer, in that order.
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 141
142 // Given a Touchpad GesturePinchUpdate event, create and send a synthetic 142 // Given a Touchpad GesturePinchUpdate event, create and send a synthetic
143 // wheel event for it. 143 // wheel event for it.
144 void SendSyntheticWheelEventForPinch( 144 void SendSyntheticWheelEventForPinch(
145 const GestureEventWithLatencyInfo& pinch_event); 145 const GestureEventWithLatencyInfo& pinch_event);
146 146
147 // IPC message handlers 147 // IPC message handlers
148 void OnInputEventAck(const InputHostMsg_HandleInputEvent_ACK_Params& ack); 148 void OnInputEventAck(const InputHostMsg_HandleInputEvent_ACK_Params& ack);
149 void OnDidOverscroll(const DidOverscrollParams& params); 149 void OnDidOverscroll(const DidOverscrollParams& params);
150 void OnMsgMoveCaretAck(); 150 void OnMsgMoveCaretAck();
151 void OnSelectRangeAck(); 151 void OnSelectMessageAck();
152 void OnHasTouchEventHandlers(bool has_handlers); 152 void OnHasTouchEventHandlers(bool has_handlers);
153 void OnSetTouchAction(TouchAction touch_action); 153 void OnSetTouchAction(TouchAction touch_action);
154 154
155 // Indicates the source of an ack provided to |ProcessInputEventAck()|. 155 // Indicates the source of an ack provided to |ProcessInputEventAck()|.
156 // The source is tracked by |current_ack_source_|, which aids in ack routing. 156 // The source is tracked by |current_ack_source_|, which aids in ack routing.
157 enum AckSource { 157 enum AckSource {
158 RENDERER, 158 RENDERER,
159 CLIENT, 159 CLIENT,
160 IGNORING_DISPOSITION, 160 IGNORING_DISPOSITION,
161 ACK_SOURCE_NONE 161 ACK_SOURCE_NONE
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 bool IsInOverscrollGesture() const; 205 bool IsInOverscrollGesture() const;
206 206
207 int routing_id() const { return routing_id_; } 207 int routing_id() const { return routing_id_; }
208 208
209 209
210 IPC::Sender* sender_; 210 IPC::Sender* sender_;
211 InputRouterClient* client_; 211 InputRouterClient* client_;
212 InputAckHandler* ack_handler_; 212 InputAckHandler* ack_handler_;
213 int routing_id_; 213 int routing_id_;
214 214
215 // (Similar to |mouse_move_pending_|.) True while waiting for SelectRange_ACK. 215 // (Similar to |mouse_move_pending_|.) True while waiting for SelectRange_ACK
216 bool select_range_pending_; 216 // or MoveRangeSelectionExtent_ACK.
217 bool select_message_pending_;
217 218
218 // (Similar to |next_mouse_move_|.) The next SelectRange to send, if any. 219 // Queue of pending select messages to send after receving the next select
219 scoped_ptr<IPC::Message> next_selection_range_; 220 // message ack.
221 std::deque<IPC::Message*> pending_select_messages_;
220 222
221 // (Similar to |mouse_move_pending_|.) True while waiting for MoveCaret_ACK. 223 // (Similar to |mouse_move_pending_|.) True while waiting for MoveCaret_ACK.
222 bool move_caret_pending_; 224 bool move_caret_pending_;
223 225
224 // (Similar to |next_mouse_move_|.) The next MoveCaret to send, if any. 226 // (Similar to |next_mouse_move_|.) The next MoveCaret to send, if any.
225 scoped_ptr<IPC::Message> next_move_caret_; 227 scoped_ptr<IPC::Message> next_move_caret_;
226 228
227 // True if a mouse move event was sent to the render view and we are waiting 229 // True if a mouse move event was sent to the render view and we are waiting
228 // for a corresponding InputHostMsg_HandleInputEvent_ACK message. 230 // for a corresponding InputHostMsg_HandleInputEvent_ACK message.
229 bool mouse_move_pending_; 231 bool mouse_move_pending_;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 TouchActionFilter touch_action_filter_; 274 TouchActionFilter touch_action_filter_;
273 InputEventStreamValidator input_stream_validator_; 275 InputEventStreamValidator input_stream_validator_;
274 InputEventStreamValidator output_stream_validator_; 276 InputEventStreamValidator output_stream_validator_;
275 277
276 DISALLOW_COPY_AND_ASSIGN(InputRouterImpl); 278 DISALLOW_COPY_AND_ASSIGN(InputRouterImpl);
277 }; 279 };
278 280
279 } // namespace content 281 } // namespace content
280 282
281 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_ 283 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_INPUT_ROUTER_IMPL_H_
OLDNEW
« no previous file with comments | « content/browser/android/content_view_core_impl.cc ('k') | content/browser/renderer_host/input/input_router_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698