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

Side by Side Diff: content/browser/renderer_host/input/gesture_event_queue.cc

Issue 304793003: use enum to specify deviceSource for fling animation. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: removed desired #include Created 6 years, 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "content/browser/renderer_host/input/gesture_event_queue.h" 5 #include "content/browser/renderer_host/input/gesture_event_queue.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "content/browser/renderer_host/input/input_router.h" 9 #include "content/browser/renderer_host/input/input_router.h"
10 #include "content/browser/renderer_host/input/touchpad_tap_suppression_controlle r.h" 10 #include "content/browser/renderer_host/input/touchpad_tap_suppression_controlle r.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 return ShouldForwardForZeroVelocityFlingStart(gesture_event) && 96 return ShouldForwardForZeroVelocityFlingStart(gesture_event) &&
97 ShouldForwardForBounceReduction(gesture_event) && 97 ShouldForwardForBounceReduction(gesture_event) &&
98 ShouldForwardForGFCFiltering(gesture_event) && 98 ShouldForwardForGFCFiltering(gesture_event) &&
99 ShouldForwardForTapSuppression(gesture_event) && 99 ShouldForwardForTapSuppression(gesture_event) &&
100 ShouldForwardForCoalescing(gesture_event); 100 ShouldForwardForCoalescing(gesture_event);
101 } 101 }
102 102
103 bool GestureEventQueue::ShouldForwardForZeroVelocityFlingStart( 103 bool GestureEventQueue::ShouldForwardForZeroVelocityFlingStart(
104 const GestureEventWithLatencyInfo& gesture_event) const { 104 const GestureEventWithLatencyInfo& gesture_event) const {
105 return gesture_event.event.type != WebInputEvent::GestureFlingStart || 105 return gesture_event.event.type != WebInputEvent::GestureFlingStart ||
106 gesture_event.event.sourceDevice != WebGestureEvent::Touchpad || 106 gesture_event.event.sourceDevice != blink::WebGestureDeviceTouchpad ||
107 gesture_event.event.data.flingStart.velocityX != 0 || 107 gesture_event.event.data.flingStart.velocityX != 0 ||
108 gesture_event.event.data.flingStart.velocityY != 0; 108 gesture_event.event.data.flingStart.velocityY != 0;
109 } 109 }
110 110
111 bool GestureEventQueue::ShouldForwardForGFCFiltering( 111 bool GestureEventQueue::ShouldForwardForGFCFiltering(
112 const GestureEventWithLatencyInfo& gesture_event) const { 112 const GestureEventWithLatencyInfo& gesture_event) const {
113 return gesture_event.event.type != WebInputEvent::GestureFlingCancel || 113 return gesture_event.event.type != WebInputEvent::GestureFlingCancel ||
114 !ShouldDiscardFlingCancelEvent(gesture_event); 114 !ShouldDiscardFlingCancelEvent(gesture_event);
115 } 115 }
116 116
117 bool GestureEventQueue::ShouldForwardForTapSuppression( 117 bool GestureEventQueue::ShouldForwardForTapSuppression(
118 const GestureEventWithLatencyInfo& gesture_event) { 118 const GestureEventWithLatencyInfo& gesture_event) {
119 switch (gesture_event.event.type) { 119 switch (gesture_event.event.type) {
120 case WebInputEvent::GestureFlingCancel: 120 case WebInputEvent::GestureFlingCancel:
121 if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen) 121 if (gesture_event.event.sourceDevice == blink::WebGestureDeviceTouchpad)
122 touchscreen_tap_suppression_controller_.GestureFlingCancel(); 122 touchscreen_tap_suppression_controller_.GestureFlingCancel();
123 else 123 else
124 touchpad_tap_suppression_controller_.GestureFlingCancel(); 124 touchpad_tap_suppression_controller_.GestureFlingCancel();
125 return true; 125 return true;
126 case WebInputEvent::GestureTapDown: 126 case WebInputEvent::GestureTapDown:
127 case WebInputEvent::GestureShowPress: 127 case WebInputEvent::GestureShowPress:
128 case WebInputEvent::GestureTapUnconfirmed: 128 case WebInputEvent::GestureTapUnconfirmed:
129 case WebInputEvent::GestureTapCancel: 129 case WebInputEvent::GestureTapCancel:
130 case WebInputEvent::GestureTap: 130 case WebInputEvent::GestureTap:
131 case WebInputEvent::GestureDoubleTap: 131 case WebInputEvent::GestureDoubleTap:
132 if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen) { 132 if (gesture_event.event.sourceDevice == blink::WebGestureDeviceTouchpad) {
133 return !touchscreen_tap_suppression_controller_.FilterTapEvent( 133 return !touchscreen_tap_suppression_controller_.FilterTapEvent(
134 gesture_event); 134 gesture_event);
135 } 135 }
136 return true; 136 return true;
137 default: 137 default:
138 return true; 138 return true;
139 } 139 }
140 } 140 }
141 141
142 bool GestureEventQueue::ShouldForwardForCoalescing( 142 bool GestureEventQueue::ShouldForwardForCoalescing(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
184 DCHECK_EQ(event_with_latency.event.type, type); 184 DCHECK_EQ(event_with_latency.event.type, type);
185 event_with_latency.latency.AddNewLatencyFrom(latency); 185 event_with_latency.latency.AddNewLatencyFrom(latency);
186 186
187 // Ack'ing an event may enqueue additional gesture events. By ack'ing the 187 // Ack'ing an event may enqueue additional gesture events. By ack'ing the
188 // event before the forwarding of queued events below, such additional events 188 // event before the forwarding of queued events below, such additional events
189 // can be coalesced with existing queued events prior to dispatch. 189 // can be coalesced with existing queued events prior to dispatch.
190 client_->OnGestureEventAck(event_with_latency, ack_result); 190 client_->OnGestureEventAck(event_with_latency, ack_result);
191 191
192 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result); 192 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
193 if (type == WebInputEvent::GestureFlingCancel) { 193 if (type == WebInputEvent::GestureFlingCancel) {
194 if (event_with_latency.event.sourceDevice == WebGestureEvent::Touchscreen) 194 if (event_with_latency.event.sourceDevice ==
195 blink::WebGestureDeviceTouchpad)
195 touchscreen_tap_suppression_controller_.GestureFlingCancelAck(processed); 196 touchscreen_tap_suppression_controller_.GestureFlingCancelAck(processed);
196 else 197 else
197 touchpad_tap_suppression_controller_.GestureFlingCancelAck(processed); 198 touchpad_tap_suppression_controller_.GestureFlingCancelAck(processed);
198 } 199 }
199 DCHECK_LT(event_index, coalesced_gesture_events_.size()); 200 DCHECK_LT(event_index, coalesced_gesture_events_.size());
200 coalesced_gesture_events_.erase(coalesced_gesture_events_.begin() + 201 coalesced_gesture_events_.erase(coalesced_gesture_events_.begin() +
201 event_index); 202 event_index);
202 203
203 if (ignore_next_ack_) { 204 if (ignore_next_ack_) {
204 ignore_next_ack_ = false; 205 ignore_next_ack_ = false;
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 return 0; 376 return 0;
376 377
377 if (!ignore_next_ack_) 378 if (!ignore_next_ack_)
378 return 1; 379 return 1;
379 380
380 DCHECK_GT(coalesced_gesture_events_.size(), 1U); 381 DCHECK_GT(coalesced_gesture_events_.size(), 1U);
381 return 2; 382 return 2;
382 } 383 }
383 384
384 } // namespace content 385 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698