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

Side by Side Diff: content/common/input/event_with_latency_info.cc

Issue 2257023004: Coalesced mouse wheel event has the position of the most recent event. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/common/input/event_with_latency_info.h" 5 #include "content/common/input/event_with_latency_info.h"
6 6
7 #include <bitset> 7 #include <bitset>
8 #include <limits> 8 #include <limits>
9 9
10 using blink::WebGestureEvent; 10 using blink::WebGestureEvent;
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 void Coalesce(const WebMouseWheelEvent& event_to_coalesce, 89 void Coalesce(const WebMouseWheelEvent& event_to_coalesce,
90 WebMouseWheelEvent* event) { 90 WebMouseWheelEvent* event) {
91 DCHECK(CanCoalesce(event_to_coalesce, *event)); 91 DCHECK(CanCoalesce(event_to_coalesce, *event));
92 float unaccelerated_x = 92 float unaccelerated_x =
93 GetUnacceleratedDelta(event->deltaX, event->accelerationRatioX) + 93 GetUnacceleratedDelta(event->deltaX, event->accelerationRatioX) +
94 GetUnacceleratedDelta(event_to_coalesce.deltaX, 94 GetUnacceleratedDelta(event_to_coalesce.deltaX,
95 event_to_coalesce.accelerationRatioX); 95 event_to_coalesce.accelerationRatioX);
96 float unaccelerated_y = 96 float unaccelerated_y =
97 GetUnacceleratedDelta(event->deltaY, event->accelerationRatioY) + 97 GetUnacceleratedDelta(event->deltaY, event->accelerationRatioY) +
98 GetUnacceleratedDelta(event_to_coalesce.deltaY, 98 GetUnacceleratedDelta(event_to_coalesce.deltaY,
99 event_to_coalesce.accelerationRatioY); 99 event_to_coalesce.accelerationRatioY);
tdresser 2016/08/19 12:43:30 WebMouseWheelEvent is a WebMouseEvent. Could we ca
sahel 2016/08/19 15:17:56 I see your point here, but this way we guarantee t
100 event->deltaX += event_to_coalesce.deltaX; 100 float old_deltaX = event->deltaX;
101 event->deltaY += event_to_coalesce.deltaY; 101 float old_deltaY = event->deltaY;
102 event->wheelTicksX += event_to_coalesce.wheelTicksX; 102 float old_wheelTicksX = event->wheelTicksX;
103 event->wheelTicksY += event_to_coalesce.wheelTicksY; 103 float old_wheelTicksY = event->wheelTicksY;
104 float old_movementX = event->movementX;
105 float old_movementY = event->movementY;
106 *event = event_to_coalesce;
107 event->deltaX += old_deltaX;
108 event->deltaY += old_deltaY;
109 event->wheelTicksX += old_wheelTicksX;
110 event->wheelTicksY += old_wheelTicksY;
111 event->movementX += old_movementX;
112 event->movementY += old_movementY;
104 event->accelerationRatioX = 113 event->accelerationRatioX =
105 GetAccelerationRatio(event->deltaX, unaccelerated_x); 114 GetAccelerationRatio(event->deltaX, unaccelerated_x);
106 event->accelerationRatioY = 115 event->accelerationRatioY =
107 GetAccelerationRatio(event->deltaY, unaccelerated_y); 116 GetAccelerationRatio(event->deltaY, unaccelerated_y);
108 } 117 }
109 118
110 bool CanCoalesce(const WebTouchEvent& event_to_coalesce, 119 bool CanCoalesce(const WebTouchEvent& event_to_coalesce,
111 const WebTouchEvent& event) { 120 const WebTouchEvent& event) {
112 if (event.type != event_to_coalesce.type || 121 if (event.type != event_to_coalesce.type ||
113 event.type != WebInputEvent::TouchMove || 122 event.type != WebInputEvent::TouchMove ||
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
285 294
286 const blink::WebInputEvent& ScopedWebInputEventWithLatencyInfo::event() const { 295 const blink::WebInputEvent& ScopedWebInputEventWithLatencyInfo::event() const {
287 return *event_; 296 return *event_;
288 } 297 }
289 298
290 blink::WebInputEvent& ScopedWebInputEventWithLatencyInfo::event() { 299 blink::WebInputEvent& ScopedWebInputEventWithLatencyInfo::event() {
291 return *event_; 300 return *event_;
292 } 301 }
293 302
294 } // namespace content 303 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698