OLD | NEW |
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_TOUCH_EVENT_QUEUE_H_ | 5 #ifndef CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_EVENT_QUEUE_H_ |
6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_EVENT_QUEUE_H_ | 6 #define CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_EVENT_QUEUE_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <map> | 9 #include <map> |
10 | 10 |
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
197 | 197 |
198 // Used to defer touch forwarding when ack dispatch triggers |QueueEvent()|. | 198 // Used to defer touch forwarding when ack dispatch triggers |QueueEvent()|. |
199 // If not NULL, |dispatching_touch_ack_| is the touch event of which the ack | 199 // If not NULL, |dispatching_touch_ack_| is the touch event of which the ack |
200 // is being dispatched. | 200 // is being dispatched. |
201 const CoalescedWebTouchEvent* dispatching_touch_ack_; | 201 const CoalescedWebTouchEvent* dispatching_touch_ack_; |
202 | 202 |
203 // Used to prevent touch timeout scheduling if we receive a synchronous | 203 // Used to prevent touch timeout scheduling if we receive a synchronous |
204 // ack after forwarding a touch event to the client. | 204 // ack after forwarding a touch event to the client. |
205 bool dispatching_touch_; | 205 bool dispatching_touch_; |
206 | 206 |
| 207 // Whether we're in the scope of a |ProcessTouchAck| call. Used to defer |
| 208 // sending async touchmove's, avoiding contention with touch ack side-effects. |
| 209 bool processing_touch_ack_; |
| 210 |
207 // Whether the renderer has at least one touch handler. | 211 // Whether the renderer has at least one touch handler. |
208 bool has_handlers_; | 212 bool has_handlers_; |
209 | 213 |
210 // Whether to allow any remaining touches for the current sequence. Note that | 214 // Whether to allow any remaining touches for the current sequence. Note that |
211 // this is a stricter condition than an empty |touch_consumer_states_|, as it | 215 // this is a stricter condition than an empty |touch_consumer_states_|, as it |
212 // also prevents forwarding of touchstart events for new pointers in the | 216 // also prevents forwarding of touchstart events for new pointers in the |
213 // current sequence. This is only used when the event is synthetically | 217 // current sequence. This is only used when the event is synthetically |
214 // cancelled after a touch timeout, or after a scroll event when the | 218 // cancelled after a touch timeout, or after a scroll event when the |
215 // mode is TOUCH_SCROLLING_MODE_TOUCHCANCEL. | 219 // mode is TOUCH_SCROLLING_MODE_TOUCHCANCEL. |
216 bool drop_remaining_touches_in_sequence_; | 220 bool drop_remaining_touches_in_sequence_; |
(...skipping 19 matching lines...) Expand all Loading... |
236 // setting for experimentation, but we may evolve it into an app-controlled | 240 // setting for experimentation, but we may evolve it into an app-controlled |
237 // mode. | 241 // mode. |
238 const TouchScrollingMode touch_scrolling_mode_; | 242 const TouchScrollingMode touch_scrolling_mode_; |
239 | 243 |
240 DISALLOW_COPY_AND_ASSIGN(TouchEventQueue); | 244 DISALLOW_COPY_AND_ASSIGN(TouchEventQueue); |
241 }; | 245 }; |
242 | 246 |
243 } // namespace content | 247 } // namespace content |
244 | 248 |
245 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_EVENT_QUEUE_H_ | 249 #endif // CONTENT_BROWSER_RENDERER_HOST_INPUT_TOUCH_EVENT_QUEUE_H_ |
OLD | NEW |