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

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

Issue 591233002: [exp] Browser-side fling in aura. Base URL: https://chromium.googlesource.com/chromium/src.git@fling-curve-config-remove
Patch Set: self-nits Created 6 years, 2 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
« no previous file with comments | « no previous file | content/browser/renderer_host/render_widget_host_view_aura.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 const GestureEventWithLatencyInfo& gesture_event) { 136 const GestureEventWithLatencyInfo& gesture_event) {
137 switch (gesture_event.event.type) { 137 switch (gesture_event.event.type) {
138 case WebInputEvent::GestureFlingCancel: 138 case WebInputEvent::GestureFlingCancel:
139 fling_in_progress_ = false; 139 fling_in_progress_ = false;
140 break; 140 break;
141 case WebInputEvent::GestureFlingStart: 141 case WebInputEvent::GestureFlingStart:
142 fling_in_progress_ = true; 142 fling_in_progress_ = true;
143 break; 143 break;
144 case WebInputEvent::GesturePinchUpdate: 144 case WebInputEvent::GesturePinchUpdate:
145 case WebInputEvent::GestureScrollUpdate: 145 case WebInputEvent::GestureScrollUpdate:
146 case WebInputEvent::GestureScrollUpdateWithoutPropagation:
146 MergeOrInsertScrollAndPinchEvent(gesture_event); 147 MergeOrInsertScrollAndPinchEvent(gesture_event);
147 return ShouldHandleEventNow(); 148 return ShouldHandleEventNow();
148 default: 149 default:
149 break; 150 break;
150 } 151 }
151 coalesced_gesture_events_.push_back(gesture_event); 152 coalesced_gesture_events_.push_back(gesture_event);
152 return ShouldHandleEventNow(); 153 return ShouldHandleEventNow();
153 } 154 }
154 155
155 void GestureEventQueue::ProcessGestureAck(InputEventAckState ack_result, 156 void GestureEventQueue::ProcessGestureAck(InputEventAckState ack_result,
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 } 338 }
338 339
339 bool GestureEventQueue::ShouldTryMerging( 340 bool GestureEventQueue::ShouldTryMerging(
340 const GestureEventWithLatencyInfo& new_event, 341 const GestureEventWithLatencyInfo& new_event,
341 const GestureEventWithLatencyInfo& event_in_queue) const { 342 const GestureEventWithLatencyInfo& event_in_queue) const {
342 DLOG_IF(WARNING, 343 DLOG_IF(WARNING,
343 new_event.event.timeStampSeconds < 344 new_event.event.timeStampSeconds <
344 event_in_queue.event.timeStampSeconds) 345 event_in_queue.event.timeStampSeconds)
345 << "Event time not monotonic?\n"; 346 << "Event time not monotonic?\n";
346 return (event_in_queue.event.type == WebInputEvent::GestureScrollUpdate || 347 return (event_in_queue.event.type == WebInputEvent::GestureScrollUpdate ||
347 event_in_queue.event.type == WebInputEvent::GesturePinchUpdate) && 348 event_in_queue.event.type ==
348 event_in_queue.event.modifiers == new_event.event.modifiers && 349 WebInputEvent::GestureScrollUpdateWithoutPropagation ||
349 event_in_queue.event.sourceDevice == new_event.event.sourceDevice; 350 event_in_queue.event.type == WebInputEvent::GesturePinchUpdate) &&
351 event_in_queue.event.modifiers == new_event.event.modifiers &&
352 event_in_queue.event.sourceDevice == new_event.event.sourceDevice;
350 } 353 }
351 354
352 gfx::Transform GestureEventQueue::GetTransformForEvent( 355 gfx::Transform GestureEventQueue::GetTransformForEvent(
353 const GestureEventWithLatencyInfo& gesture_event) const { 356 const GestureEventWithLatencyInfo& gesture_event) const {
354 gfx::Transform gesture_transform; 357 gfx::Transform gesture_transform;
355 if (gesture_event.event.type == WebInputEvent::GestureScrollUpdate) { 358 if (gesture_event.event.type == WebInputEvent::GestureScrollUpdate ||
359 gesture_event.event.type ==
360 WebInputEvent::GestureScrollUpdateWithoutPropagation) {
356 gesture_transform.Translate(gesture_event.event.data.scrollUpdate.deltaX, 361 gesture_transform.Translate(gesture_event.event.data.scrollUpdate.deltaX,
357 gesture_event.event.data.scrollUpdate.deltaY); 362 gesture_event.event.data.scrollUpdate.deltaY);
358 } else if (gesture_event.event.type == WebInputEvent::GesturePinchUpdate) { 363 } else if (gesture_event.event.type == WebInputEvent::GesturePinchUpdate) {
359 float scale = gesture_event.event.data.pinchUpdate.scale; 364 float scale = gesture_event.event.data.pinchUpdate.scale;
360 gesture_transform.Translate(-gesture_event.event.x, -gesture_event.event.y); 365 gesture_transform.Translate(-gesture_event.event.x, -gesture_event.event.y);
361 gesture_transform.Scale(scale,scale); 366 gesture_transform.Scale(scale,scale);
362 gesture_transform.Translate(gesture_event.event.x, gesture_event.event.y); 367 gesture_transform.Translate(gesture_event.event.x, gesture_event.event.y);
363 } 368 }
364 return gesture_transform; 369 return gesture_transform;
365 } 370 }
366 371
367 size_t GestureEventQueue::EventsInFlightCount() const { 372 size_t GestureEventQueue::EventsInFlightCount() const {
368 if (coalesced_gesture_events_.empty()) 373 if (coalesced_gesture_events_.empty())
369 return 0; 374 return 0;
370 375
371 if (!ignore_next_ack_) 376 if (!ignore_next_ack_)
372 return 1; 377 return 1;
373 378
374 DCHECK_GT(coalesced_gesture_events_.size(), 1U); 379 DCHECK_GT(coalesced_gesture_events_.size(), 1U);
375 return 2; 380 return 2;
376 } 381 }
377 382
378 } // namespace content 383 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/browser/renderer_host/render_widget_host_view_aura.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698