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

Side by Side Diff: ui/events/gesture_detection/motion_event_buffer.cc

Issue 999423003: Set the unique_event_id when converting from TouchEvent to WebTouchEvent (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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 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 "ui/events/gesture_detection/motion_event_buffer.h" 5 #include "ui/events/gesture_detection/motion_event_buffer.h"
6 6
7 #include "base/trace_event/trace_event.h" 7 #include "base/trace_event/trace_event.h"
8 #include "ui/events/gesture_detection/motion_event_generic.h" 8 #include "ui/events/gesture_detection/motion_event_generic.h"
9 9
10 namespace ui { 10 namespace ui {
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 const base::TimeTicks time1 = event1.GetEventTime(); 124 const base::TimeTicks time1 = event1.GetEventTime();
125 DCHECK(time0 < time1); 125 DCHECK(time0 < time1);
126 DCHECK(time0 <= resample_time); 126 DCHECK(time0 <= resample_time);
127 127
128 const float alpha = (resample_time - time0).InMillisecondsF() / 128 const float alpha = (resample_time - time0).InMillisecondsF() /
129 (time1 - time0).InMillisecondsF(); 129 (time1 - time0).InMillisecondsF();
130 130
131 scoped_ptr<MotionEventGeneric> event; 131 scoped_ptr<MotionEventGeneric> event;
132 const size_t pointer_count = event0.GetPointerCount(); 132 const size_t pointer_count = event0.GetPointerCount();
133 DCHECK_EQ(pointer_count, event1.GetPointerCount()); 133 DCHECK_EQ(pointer_count, event1.GetPointerCount());
134 LOG(ERROR) << " ResampleMotionEvent pointer_count " << pointer_count;
tdresser 2015/04/16 17:33:34 Remove log.
lanwei 2015/04/20 19:58:59 Done.
134 for (size_t event0_i = 0; event0_i < pointer_count; ++event0_i) { 135 for (size_t event0_i = 0; event0_i < pointer_count; ++event0_i) {
135 int event1_i = event1.FindPointerIndexOfId(event0.GetPointerId(event0_i)); 136 int event1_i = event1.FindPointerIndexOfId(event0.GetPointerId(event0_i));
136 DCHECK_NE(event1_i, -1); 137 DCHECK_NE(event1_i, -1);
137 PointerProperties pointer = ResamplePointer( 138 PointerProperties pointer = ResamplePointer(
138 event0, event1, event0_i, static_cast<size_t>(event1_i), alpha); 139 event0, event1, event0_i, static_cast<size_t>(event1_i), alpha);
139 140
140 if (event0_i == 0) { 141 if (event0_i == 0) {
141 event.reset(new MotionEventGeneric( 142 event.reset(new MotionEventGeneric(
142 MotionEvent::ACTION_MOVE, resample_time, pointer)); 143 MotionEvent::ACTION_MOVE, resample_time, pointer));
143 } else { 144 } else {
144 event->PushPointer(pointer); 145 event->PushPointer(pointer);
145 } 146 }
146 } 147 }
147 148
148 DCHECK(event); 149 DCHECK(event);
149 event->set_id(event0.GetId());
150 event->set_button_state(event0.GetButtonState()); 150 event->set_button_state(event0.GetButtonState());
151 return event.Pass(); 151 return event.Pass();
152 } 152 }
153 153
154 // Synthesize a compound MotionEventGeneric event from a sequence of events. 154 // Synthesize a compound MotionEventGeneric event from a sequence of events.
155 // Events must be in non-decreasing (time) order. 155 // Events must be in non-decreasing (time) order.
156 scoped_ptr<MotionEventGeneric> ConsumeSamples(MotionEventVector events) { 156 scoped_ptr<MotionEventGeneric> ConsumeSamples(MotionEventVector events) {
157 DCHECK(!events.empty()); 157 DCHECK(!events.empty());
158 scoped_ptr<MotionEventGeneric> event(events.back()); 158 scoped_ptr<MotionEventGeneric> event(events.back());
159 for (size_t i = 0; i + 1 < events.size(); ++i) 159 for (size_t i = 0; i + 1 < events.size(); ++i)
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
332 332
333 void MotionEventBuffer::FlushWithoutResampling(MotionEventVector events) { 333 void MotionEventBuffer::FlushWithoutResampling(MotionEventVector events) {
334 last_extrapolated_event_time_ = base::TimeTicks(); 334 last_extrapolated_event_time_ = base::TimeTicks();
335 if (events.empty()) 335 if (events.empty())
336 return; 336 return;
337 337
338 client_->ForwardMotionEvent(*ConsumeSamples(events.Pass())); 338 client_->ForwardMotionEvent(*ConsumeSamples(events.Pass()));
339 } 339 }
340 340
341 } // namespace ui 341 } // namespace ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698