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

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: rebased for parallel breaking changes 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 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
102 bool GestureEventQueue::ShouldForwardForGFCFiltering( 102 bool GestureEventQueue::ShouldForwardForGFCFiltering(
103 const GestureEventWithLatencyInfo& gesture_event) const { 103 const GestureEventWithLatencyInfo& gesture_event) const {
104 return gesture_event.event.type != WebInputEvent::GestureFlingCancel || 104 return gesture_event.event.type != WebInputEvent::GestureFlingCancel ||
105 !ShouldDiscardFlingCancelEvent(gesture_event); 105 !ShouldDiscardFlingCancelEvent(gesture_event);
106 } 106 }
107 107
108 bool GestureEventQueue::ShouldForwardForTapSuppression( 108 bool GestureEventQueue::ShouldForwardForTapSuppression(
109 const GestureEventWithLatencyInfo& gesture_event) { 109 const GestureEventWithLatencyInfo& gesture_event) {
110 switch (gesture_event.event.type) { 110 switch (gesture_event.event.type) {
111 case WebInputEvent::GestureFlingCancel: 111 case WebInputEvent::GestureFlingCancel:
112 if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen) 112 if (gesture_event.event.sourceDevice ==
113 blink::WebGestureDeviceTouchscreen)
113 touchscreen_tap_suppression_controller_.GestureFlingCancel(); 114 touchscreen_tap_suppression_controller_.GestureFlingCancel();
114 else 115 else
115 touchpad_tap_suppression_controller_.GestureFlingCancel(); 116 touchpad_tap_suppression_controller_.GestureFlingCancel();
116 return true; 117 return true;
117 case WebInputEvent::GestureTapDown: 118 case WebInputEvent::GestureTapDown:
118 case WebInputEvent::GestureShowPress: 119 case WebInputEvent::GestureShowPress:
119 case WebInputEvent::GestureTapUnconfirmed: 120 case WebInputEvent::GestureTapUnconfirmed:
120 case WebInputEvent::GestureTapCancel: 121 case WebInputEvent::GestureTapCancel:
121 case WebInputEvent::GestureTap: 122 case WebInputEvent::GestureTap:
122 case WebInputEvent::GestureDoubleTap: 123 case WebInputEvent::GestureDoubleTap:
123 if (gesture_event.event.sourceDevice == WebGestureEvent::Touchscreen) { 124 if (gesture_event.event.sourceDevice ==
125 blink::WebGestureDeviceTouchscreen) {
124 return !touchscreen_tap_suppression_controller_.FilterTapEvent( 126 return !touchscreen_tap_suppression_controller_.FilterTapEvent(
125 gesture_event); 127 gesture_event);
126 } 128 }
127 return true; 129 return true;
128 default: 130 default:
129 return true; 131 return true;
130 } 132 }
131 } 133 }
132 134
133 bool GestureEventQueue::ShouldForwardForCoalescing( 135 bool GestureEventQueue::ShouldForwardForCoalescing(
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 DCHECK_EQ(event_with_latency.event.type, type); 177 DCHECK_EQ(event_with_latency.event.type, type);
176 event_with_latency.latency.AddNewLatencyFrom(latency); 178 event_with_latency.latency.AddNewLatencyFrom(latency);
177 179
178 // Ack'ing an event may enqueue additional gesture events. By ack'ing the 180 // Ack'ing an event may enqueue additional gesture events. By ack'ing the
179 // event before the forwarding of queued events below, such additional events 181 // event before the forwarding of queued events below, such additional events
180 // can be coalesced with existing queued events prior to dispatch. 182 // can be coalesced with existing queued events prior to dispatch.
181 client_->OnGestureEventAck(event_with_latency, ack_result); 183 client_->OnGestureEventAck(event_with_latency, ack_result);
182 184
183 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result); 185 const bool processed = (INPUT_EVENT_ACK_STATE_CONSUMED == ack_result);
184 if (type == WebInputEvent::GestureFlingCancel) { 186 if (type == WebInputEvent::GestureFlingCancel) {
185 if (event_with_latency.event.sourceDevice == WebGestureEvent::Touchscreen) 187 if (event_with_latency.event.sourceDevice ==
188 blink::WebGestureDeviceTouchscreen)
186 touchscreen_tap_suppression_controller_.GestureFlingCancelAck(processed); 189 touchscreen_tap_suppression_controller_.GestureFlingCancelAck(processed);
187 else 190 else
188 touchpad_tap_suppression_controller_.GestureFlingCancelAck(processed); 191 touchpad_tap_suppression_controller_.GestureFlingCancelAck(processed);
189 } 192 }
190 DCHECK_LT(event_index, coalesced_gesture_events_.size()); 193 DCHECK_LT(event_index, coalesced_gesture_events_.size());
191 coalesced_gesture_events_.erase(coalesced_gesture_events_.begin() + 194 coalesced_gesture_events_.erase(coalesced_gesture_events_.begin() +
192 event_index); 195 event_index);
193 196
194 if (ignore_next_ack_) { 197 if (ignore_next_ack_) {
195 ignore_next_ack_ = false; 198 ignore_next_ack_ = false;
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 return 0; 369 return 0;
367 370
368 if (!ignore_next_ack_) 371 if (!ignore_next_ack_)
369 return 1; 372 return 1;
370 373
371 DCHECK_GT(coalesced_gesture_events_.size(), 1U); 374 DCHECK_GT(coalesced_gesture_events_.size(), 1U);
372 return 2; 375 return 2;
373 } 376 }
374 377
375 } // namespace content 378 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698