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

Side by Side Diff: ui/events/gesture_detection/motion_event_generic.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, 7 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_generic.h" 5 #include "ui/events/gesture_detection/motion_event_generic.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "ui/events/base_event_utils.h"
8 9
9 namespace ui { 10 namespace ui {
10 11
11 PointerProperties::PointerProperties() 12 PointerProperties::PointerProperties()
12 : PointerProperties(0, 0, 0) { 13 : PointerProperties(0, 0, 0) {
13 } 14 }
14 15
15 PointerProperties::PointerProperties(float x, float y, float touch_major) 16 PointerProperties::PointerProperties(float x, float y, float touch_major)
16 : id(0), 17 : id(0),
17 tool_type(MotionEvent::TOOL_TYPE_UNKNOWN), 18 tool_type(MotionEvent::TOOL_TYPE_UNKNOWN),
(...skipping 21 matching lines...) Expand all
39 touch_minor(event.GetTouchMinor(pointer_index)), 40 touch_minor(event.GetTouchMinor(pointer_index)),
40 orientation(event.GetOrientation(pointer_index)), 41 orientation(event.GetOrientation(pointer_index)),
41 source_device_id(0) { 42 source_device_id(0) {
42 } 43 }
43 44
44 MotionEventGeneric::MotionEventGeneric(Action action, 45 MotionEventGeneric::MotionEventGeneric(Action action,
45 base::TimeTicks event_time, 46 base::TimeTicks event_time,
46 const PointerProperties& pointer) 47 const PointerProperties& pointer)
47 : action_(action), 48 : action_(action),
48 event_time_(event_time), 49 event_time_(event_time),
49 id_(0), 50 unique_event_id_(ui::GetNextTouchEventId()),
50 action_index_(0), 51 action_index_(0),
51 button_state_(0), 52 button_state_(0),
52 flags_(0) { 53 flags_(0) {
53 PushPointer(pointer); 54 PushPointer(pointer);
54 } 55 }
55 56
56 MotionEventGeneric::MotionEventGeneric(const MotionEventGeneric& other) 57 MotionEventGeneric::MotionEventGeneric(const MotionEventGeneric& other)
57 : action_(other.action_), 58 : action_(other.action_),
58 event_time_(other.event_time_), 59 event_time_(other.event_time_),
59 id_(other.id_), 60 unique_event_id_(other.unique_event_id_),
60 action_index_(other.action_index_), 61 action_index_(other.action_index_),
61 button_state_(other.button_state_), 62 button_state_(other.button_state_),
62 flags_(other.flags_), 63 flags_(other.flags_),
63 pointers_(other.pointers_) { 64 pointers_(other.pointers_) {
64 const size_t history_size = other.GetHistorySize(); 65 const size_t history_size = other.GetHistorySize();
65 for (size_t h = 0; h < history_size; ++h) 66 for (size_t h = 0; h < history_size; ++h)
66 PushHistoricalEvent(other.historical_events_[h]->Clone()); 67 PushHistoricalEvent(other.historical_events_[h]->Clone());
67 } 68 }
68 69
69 MotionEventGeneric::~MotionEventGeneric() { 70 MotionEventGeneric::~MotionEventGeneric() {
70 } 71 }
71 72
72 int MotionEventGeneric::GetId() const { 73 uint32 MotionEventGeneric::GetUniqueEventId() const {
73 return id_; 74 return unique_event_id_;
74 } 75 }
75 76
76 MotionEvent::Action MotionEventGeneric::GetAction() const { 77 MotionEvent::Action MotionEventGeneric::GetAction() const {
77 return action_; 78 return action_;
78 } 79 }
79 80
80 int MotionEventGeneric::GetActionIndex() const { 81 int MotionEventGeneric::GetActionIndex() const {
81 DCHECK(action_ == ACTION_POINTER_DOWN || action_ == ACTION_POINTER_UP); 82 DCHECK(action_ == ACTION_POINTER_DOWN || action_ == ACTION_POINTER_UP);
82 DCHECK_GE(action_index_, 0); 83 DCHECK_GE(action_index_, 0);
83 DCHECK_LT(action_index_, static_cast<int>(pointers_->size())); 84 DCHECK_LT(action_index_, static_cast<int>(pointers_->size()));
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
187 return make_scoped_ptr(new MotionEventGeneric(event, with_history)); 188 return make_scoped_ptr(new MotionEventGeneric(event, with_history));
188 } 189 }
189 190
190 // static 191 // static
191 scoped_ptr<MotionEventGeneric> MotionEventGeneric::CancelEvent( 192 scoped_ptr<MotionEventGeneric> MotionEventGeneric::CancelEvent(
192 const MotionEvent& event) { 193 const MotionEvent& event) {
193 bool with_history = false; 194 bool with_history = false;
194 scoped_ptr<MotionEventGeneric> cancel_event( 195 scoped_ptr<MotionEventGeneric> cancel_event(
195 new MotionEventGeneric(event, with_history)); 196 new MotionEventGeneric(event, with_history));
196 cancel_event->set_action(ACTION_CANCEL); 197 cancel_event->set_action(ACTION_CANCEL);
198 cancel_event->set_unique_event_id(ui::GetNextTouchEventId());
197 return cancel_event.Pass(); 199 return cancel_event.Pass();
198 } 200 }
199 201
200 size_t MotionEventGeneric::PushPointer(const PointerProperties& pointer) { 202 size_t MotionEventGeneric::PushPointer(const PointerProperties& pointer) {
201 DCHECK_EQ(0U, GetHistorySize()); 203 DCHECK_EQ(0U, GetHistorySize());
202 pointers_->push_back(pointer); 204 pointers_->push_back(pointer);
203 return pointers_->size() - 1; 205 return pointers_->size() - 1;
204 } 206 }
205 207
206 void MotionEventGeneric::RemovePointerAt(size_t index) { 208 void MotionEventGeneric::RemovePointerAt(size_t index) {
207 DCHECK_LT(index, pointers_->size()); 209 DCHECK_LT(index, pointers_->size());
208 pointers_->erase(pointers_->begin() + index); 210 pointers_->erase(pointers_->begin() + index);
209 } 211 }
210 212
211 void MotionEventGeneric::PushHistoricalEvent(scoped_ptr<MotionEvent> event) { 213 void MotionEventGeneric::PushHistoricalEvent(scoped_ptr<MotionEvent> event) {
212 DCHECK(event); 214 DCHECK(event);
213 DCHECK_EQ(event->GetAction(), ACTION_MOVE); 215 DCHECK_EQ(event->GetAction(), ACTION_MOVE);
214 DCHECK_EQ(event->GetPointerCount(), GetPointerCount()); 216 DCHECK_EQ(event->GetPointerCount(), GetPointerCount());
215 DCHECK_EQ(event->GetAction(), GetAction()); 217 DCHECK_EQ(event->GetAction(), GetAction());
216 DCHECK_LE(event->GetEventTime().ToInternalValue(), 218 DCHECK_LE(event->GetEventTime().ToInternalValue(),
217 GetEventTime().ToInternalValue()); 219 GetEventTime().ToInternalValue());
218 historical_events_.push_back(event.release()); 220 historical_events_.push_back(event.release());
219 } 221 }
220 222
221 MotionEventGeneric::MotionEventGeneric() 223 MotionEventGeneric::MotionEventGeneric()
222 : action_(ACTION_CANCEL), id_(0), action_index_(0), button_state_(0) { 224 : action_(ACTION_CANCEL),
225 unique_event_id_(ui::GetNextTouchEventId()),
226 action_index_(0),
227 button_state_(0) {
223 } 228 }
224 229
225 MotionEventGeneric::MotionEventGeneric(const MotionEvent& event, 230 MotionEventGeneric::MotionEventGeneric(const MotionEvent& event,
226 bool with_history) 231 bool with_history)
227 : action_(event.GetAction()), 232 : action_(event.GetAction()),
228 event_time_(event.GetEventTime()), 233 event_time_(event.GetEventTime()),
229 id_(event.GetId()), 234 unique_event_id_(event.GetUniqueEventId()),
230 action_index_( 235 action_index_(
231 (action_ == ACTION_POINTER_UP || action_ == ACTION_POINTER_DOWN) 236 (action_ == ACTION_POINTER_UP || action_ == ACTION_POINTER_DOWN)
232 ? event.GetActionIndex() 237 ? event.GetActionIndex()
233 : 0), 238 : 0),
234 button_state_(event.GetButtonState()), 239 button_state_(event.GetButtonState()),
235 flags_(event.GetFlags()) { 240 flags_(event.GetFlags()) {
236 const size_t pointer_count = event.GetPointerCount(); 241 const size_t pointer_count = event.GetPointerCount();
237 for (size_t i = 0; i < pointer_count; ++i) 242 for (size_t i = 0; i < pointer_count; ++i)
238 PushPointer(PointerProperties(event, i)); 243 PushPointer(PointerProperties(event, i));
239 244
(...skipping 12 matching lines...) Expand all
252 event.GetHistoricalTouchMajor(i, h))); 257 event.GetHistoricalTouchMajor(i, h)));
253 } 258 }
254 PushHistoricalEvent(historical_event.Pass()); 259 PushHistoricalEvent(historical_event.Pass());
255 } 260 }
256 } 261 }
257 262
258 MotionEventGeneric& MotionEventGeneric::operator=( 263 MotionEventGeneric& MotionEventGeneric::operator=(
259 const MotionEventGeneric& other) { 264 const MotionEventGeneric& other) {
260 action_ = other.action_; 265 action_ = other.action_;
261 event_time_ = other.event_time_; 266 event_time_ = other.event_time_;
262 id_ = other.id_; 267 unique_event_id_ = other.unique_event_id_;
263 action_index_ = other.action_index_; 268 action_index_ = other.action_index_;
264 button_state_ = other.button_state_; 269 button_state_ = other.button_state_;
265 flags_ = other.flags_; 270 flags_ = other.flags_;
266 pointers_ = other.pointers_; 271 pointers_ = other.pointers_;
267 const size_t history_size = other.GetHistorySize(); 272 const size_t history_size = other.GetHistorySize();
268 for (size_t h = 0; h < history_size; ++h) 273 for (size_t h = 0; h < history_size; ++h)
269 PushHistoricalEvent(other.historical_events_[h]->Clone()); 274 PushHistoricalEvent(other.historical_events_[h]->Clone());
270 return *this; 275 return *this;
271 } 276 }
272 277
273 void MotionEventGeneric::PopPointer() { 278 void MotionEventGeneric::PopPointer() {
274 DCHECK_GT(pointers_->size(), 0U); 279 DCHECK_GT(pointers_->size(), 0U);
275 pointers_->pop_back(); 280 pointers_->pop_back();
276 } 281 }
277 282
278 } // namespace ui 283 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/gesture_detection/motion_event_generic.h ('k') | ui/events/gesture_detection/motion_event_generic_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698