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

Side by Side Diff: ui/events/event.cc

Issue 2317253005: SourceEventType added to LatencyInfo (Closed)
Patch Set: Added a fake return to the end of EventTypeToLatencySourceEventType, for compilers that don't know … Created 4 years, 3 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 | « ui/events/blink/web_input_event_traits.cc ('k') | ui/events/event_unittest.cc » ('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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/event.h" 5 #include "ui/events/event.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 10
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
132 CASE_TYPE(ET_UMA_DATA); 132 CASE_TYPE(ET_UMA_DATA);
133 case ui::ET_LAST: NOTREACHED(); return std::string(); 133 case ui::ET_LAST: NOTREACHED(); return std::string();
134 // Don't include default, so that we get an error when new type is added. 134 // Don't include default, so that we get an error when new type is added.
135 } 135 }
136 #undef CASE_TYPE 136 #undef CASE_TYPE
137 137
138 NOTREACHED(); 138 NOTREACHED();
139 return std::string(); 139 return std::string();
140 } 140 }
141 141
142 ui::SourceEventType EventTypeToLatencySourceEventType(ui::EventType type) {
143 switch (type) {
144 case ui::ET_UNKNOWN:
145 // SourceEventType for PointerEvents/GestureEvents can be either TOUCH or
146 // WHEEL. The proper value is assigned in the constructors.
147 case ui::ET_POINTER_DOWN:
148 case ui::ET_POINTER_MOVED:
149 case ui::ET_POINTER_UP:
150 case ui::ET_POINTER_CANCELLED:
151 case ui::ET_POINTER_ENTERED:
152 case ui::ET_POINTER_EXITED:
153 case ui::ET_POINTER_CAPTURE_CHANGED:
154 case ui::ET_GESTURE_SCROLL_BEGIN:
155 case ui::ET_GESTURE_SCROLL_END:
156 case ui::ET_GESTURE_SCROLL_UPDATE:
157 case ui::ET_GESTURE_TAP:
158 case ui::ET_GESTURE_TAP_DOWN:
159 case ui::ET_GESTURE_TAP_CANCEL:
160 case ui::ET_GESTURE_TAP_UNCONFIRMED:
161 case ui::ET_GESTURE_DOUBLE_TAP:
162 case ui::ET_GESTURE_BEGIN:
163 case ui::ET_GESTURE_END:
164 case ui::ET_GESTURE_TWO_FINGER_TAP:
165 case ui::ET_GESTURE_PINCH_BEGIN:
166 case ui::ET_GESTURE_PINCH_END:
167 case ui::ET_GESTURE_PINCH_UPDATE:
168 case ui::ET_GESTURE_LONG_PRESS:
169 case ui::ET_GESTURE_LONG_TAP:
170 case ui::ET_GESTURE_SWIPE:
171 case ui::ET_GESTURE_SHOW_PRESS:
172 // Flings can be GestureEvents too.
173 case ui::ET_SCROLL_FLING_START:
174 case ui::ET_SCROLL_FLING_CANCEL:
175 return ui::SourceEventType::UNKNOWN;
176
177 case ui::ET_MOUSE_PRESSED:
178 case ui::ET_MOUSE_DRAGGED:
179 case ui::ET_MOUSE_RELEASED:
180 case ui::ET_MOUSE_MOVED:
181 case ui::ET_MOUSE_ENTERED:
182 case ui::ET_MOUSE_EXITED:
183 case ui::ET_KEY_PRESSED:
184 case ui::ET_KEY_RELEASED:
185 case ui::ET_MOUSE_CAPTURE_CHANGED:
186 case ui::ET_DROP_TARGET_EVENT:
187 case ui::ET_CANCEL_MODE:
188 case ui::ET_UMA_DATA:
189 return ui::SourceEventType::OTHER;
190
191 case ui::ET_TOUCH_RELEASED:
192 case ui::ET_TOUCH_PRESSED:
193 case ui::ET_TOUCH_MOVED:
194 case ui::ET_TOUCH_CANCELLED:
195 return ui::SourceEventType::TOUCH;
196
197 case ui::ET_MOUSEWHEEL:
198 case ui::ET_POINTER_WHEEL_CHANGED:
199 case ui::ET_SCROLL:
200 return ui::SourceEventType::WHEEL;
201
202 case ui::ET_LAST:
203 NOTREACHED();
204 return ui::SourceEventType::UNKNOWN;
205 }
206 NOTREACHED();
207 return ui::SourceEventType::UNKNOWN;
208 }
209
142 bool IsX11SendEventTrue(const base::NativeEvent& event) { 210 bool IsX11SendEventTrue(const base::NativeEvent& event) {
143 #if defined(USE_X11) 211 #if defined(USE_X11)
144 return event && event->xany.send_event; 212 return event && event->xany.send_event;
145 #else 213 #else
146 return false; 214 return false;
147 #endif 215 #endif
148 } 216 }
149 217
150 bool X11EventHasNonStandardState(const base::NativeEvent& event) { 218 bool X11EventHasNonStandardState(const base::NativeEvent& event) {
151 #if defined(USE_X11) 219 #if defined(USE_X11)
(...skipping 174 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 : type_(type), 394 : type_(type),
327 time_stamp_(time_stamp), 395 time_stamp_(time_stamp),
328 flags_(flags), 396 flags_(flags),
329 native_event_(base::NativeEvent()), 397 native_event_(base::NativeEvent()),
330 delete_native_event_(false), 398 delete_native_event_(false),
331 cancelable_(true), 399 cancelable_(true),
332 target_(NULL), 400 target_(NULL),
333 phase_(EP_PREDISPATCH), 401 phase_(EP_PREDISPATCH),
334 result_(ER_UNHANDLED), 402 result_(ER_UNHANDLED),
335 source_device_id_(ED_UNKNOWN_DEVICE) { 403 source_device_id_(ED_UNKNOWN_DEVICE) {
336 if (type_ < ET_LAST) 404 if (type_ < ET_LAST) {
405 latency()->set_source_event_type(EventTypeToLatencySourceEventType(type));
337 name_ = EventTypeName(type_); 406 name_ = EventTypeName(type_);
407 }
338 } 408 }
339 409
340 Event::Event(const base::NativeEvent& native_event, 410 Event::Event(const base::NativeEvent& native_event,
341 EventType type, 411 EventType type,
342 int flags) 412 int flags)
343 : type_(type), 413 : type_(type),
344 time_stamp_(EventTimeFromNative(native_event)), 414 time_stamp_(EventTimeFromNative(native_event)),
345 flags_(flags), 415 flags_(flags),
346 native_event_(native_event), 416 native_event_(native_event),
347 delete_native_event_(false), 417 delete_native_event_(false),
348 cancelable_(true), 418 cancelable_(true),
349 target_(NULL), 419 target_(NULL),
350 phase_(EP_PREDISPATCH), 420 phase_(EP_PREDISPATCH),
351 result_(ER_UNHANDLED), 421 result_(ER_UNHANDLED),
352 source_device_id_(ED_UNKNOWN_DEVICE) { 422 source_device_id_(ED_UNKNOWN_DEVICE) {
353 base::TimeDelta delta = EventTimeForNow() - time_stamp_; 423 base::TimeDelta delta = EventTimeForNow() - time_stamp_;
354 if (type_ < ET_LAST) 424 if (type_ < ET_LAST) {
425 latency()->set_source_event_type(EventTypeToLatencySourceEventType(type));
355 name_ = EventTypeName(type_); 426 name_ = EventTypeName(type_);
427 }
356 base::HistogramBase::Sample delta_sample = 428 base::HistogramBase::Sample delta_sample =
357 static_cast<base::HistogramBase::Sample>(delta.InMicroseconds()); 429 static_cast<base::HistogramBase::Sample>(delta.InMicroseconds());
358 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.Browser", delta_sample, 1, 1000000, 430 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.Latency.Browser", delta_sample, 1, 1000000,
359 100); 431 100);
360 ComputeEventLatencyOS(native_event); 432 ComputeEventLatencyOS(native_event);
361 433
362 // Though it seems inefficient to generate the string twice, the first 434 // Though it seems inefficient to generate the string twice, the first
363 // instance will be used only for DCHECK builds and the second won't be 435 // instance will be used only for DCHECK builds and the second won't be
364 // executed at all if the histogram was previously accessed here. 436 // executed at all if the histogram was previously accessed here.
365 STATIC_HISTOGRAM_POINTER_GROUP( 437 STATIC_HISTOGRAM_POINTER_GROUP(
(...skipping 30 matching lines...) Expand all
396 result_(ER_UNHANDLED), 468 result_(ER_UNHANDLED),
397 source_device_id_(copy.source_device_id_) { 469 source_device_id_(copy.source_device_id_) {
398 if (type_ < ET_LAST) 470 if (type_ < ET_LAST)
399 name_ = EventTypeName(type_); 471 name_ = EventTypeName(type_);
400 } 472 }
401 473
402 void Event::SetType(EventType type) { 474 void Event::SetType(EventType type) {
403 if (type_ < ET_LAST) 475 if (type_ < ET_LAST)
404 name_ = std::string(); 476 name_ = std::string();
405 type_ = type; 477 type_ = type;
406 if (type_ < ET_LAST) 478 if (type_ < ET_LAST) {
407 name_ = EventTypeName(type_); 479 name_ = EventTypeName(type_);
480 latency()->set_source_event_type(EventTypeToLatencySourceEventType(type));
481 }
408 } 482 }
409 483
410 //////////////////////////////////////////////////////////////////////////////// 484 ////////////////////////////////////////////////////////////////////////////////
411 // CancelModeEvent 485 // CancelModeEvent
412 486
413 CancelModeEvent::CancelModeEvent() 487 CancelModeEvent::CancelModeEvent()
414 : Event(ET_CANCEL_MODE, base::TimeTicks(), 0) { 488 : Event(ET_CANCEL_MODE, base::TimeTicks(), 0) {
415 set_cancelable(false); 489 set_cancelable(false);
416 } 490 }
417 491
(...skipping 461 matching lines...) Expand 10 before | Expand all | Expand 10 after
879 return true; 953 return true;
880 default: 954 default:
881 return false; 955 return false;
882 } 956 }
883 } 957 }
884 958
885 PointerEvent::PointerEvent(const PointerEvent& pointer_event) 959 PointerEvent::PointerEvent(const PointerEvent& pointer_event)
886 : LocatedEvent(pointer_event), 960 : LocatedEvent(pointer_event),
887 pointer_id_(pointer_event.pointer_id()), 961 pointer_id_(pointer_event.pointer_id()),
888 changed_button_flags_(pointer_event.changed_button_flags()), 962 changed_button_flags_(pointer_event.changed_button_flags()),
889 details_(pointer_event.pointer_details()) {} 963 details_(pointer_event.pointer_details()) {
964 if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH)
965 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
966 else if (pointer_event.type() == ET_POINTER_WHEEL_CHANGED)
967 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
968 else
969 latency()->set_source_event_type(ui::SourceEventType::OTHER);
970 }
890 971
891 PointerEvent::PointerEvent(const MouseEvent& mouse_event) 972 PointerEvent::PointerEvent(const MouseEvent& mouse_event)
892 : LocatedEvent(mouse_event), 973 : LocatedEvent(mouse_event),
893 pointer_id_(kMousePointerId), 974 pointer_id_(kMousePointerId),
894 changed_button_flags_(mouse_event.changed_button_flags()), 975 changed_button_flags_(mouse_event.changed_button_flags()),
895 details_(mouse_event.pointer_details()) { 976 details_(mouse_event.pointer_details()) {
896 DCHECK(CanConvertFrom(mouse_event)); 977 DCHECK(CanConvertFrom(mouse_event));
897 switch (mouse_event.type()) { 978 switch (mouse_event.type()) {
898 case ET_MOUSE_PRESSED: 979 case ET_MOUSE_PRESSED:
899 SetType(ET_POINTER_DOWN); 980 SetType(ET_POINTER_DOWN);
981 latency()->set_source_event_type(ui::SourceEventType::OTHER);
900 break; 982 break;
901 983
902 case ET_MOUSE_DRAGGED: 984 case ET_MOUSE_DRAGGED:
903 case ET_MOUSE_MOVED: 985 case ET_MOUSE_MOVED:
904 SetType(ET_POINTER_MOVED); 986 SetType(ET_POINTER_MOVED);
987 latency()->set_source_event_type(ui::SourceEventType::OTHER);
905 break; 988 break;
906 989
907 case ET_MOUSE_ENTERED: 990 case ET_MOUSE_ENTERED:
908 SetType(ET_POINTER_ENTERED); 991 SetType(ET_POINTER_ENTERED);
992 latency()->set_source_event_type(ui::SourceEventType::OTHER);
909 break; 993 break;
910 994
911 case ET_MOUSE_EXITED: 995 case ET_MOUSE_EXITED:
912 SetType(ET_POINTER_EXITED); 996 SetType(ET_POINTER_EXITED);
997 latency()->set_source_event_type(ui::SourceEventType::OTHER);
913 break; 998 break;
914 999
915 case ET_MOUSE_RELEASED: 1000 case ET_MOUSE_RELEASED:
916 SetType(ET_POINTER_UP); 1001 SetType(ET_POINTER_UP);
1002 latency()->set_source_event_type(ui::SourceEventType::OTHER);
917 break; 1003 break;
918 1004
919 case ET_MOUSEWHEEL: 1005 case ET_MOUSEWHEEL:
920 SetType(ET_POINTER_WHEEL_CHANGED); 1006 SetType(ET_POINTER_WHEEL_CHANGED);
921 details_ = PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, 1007 details_ = PointerDetails(EventPointerType::POINTER_TYPE_MOUSE,
922 mouse_event.AsMouseWheelEvent()->offset()); 1008 mouse_event.AsMouseWheelEvent()->offset());
1009 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
923 break; 1010 break;
924 1011
925 case ET_MOUSE_CAPTURE_CHANGED: 1012 case ET_MOUSE_CAPTURE_CHANGED:
926 SetType(ET_POINTER_CAPTURE_CHANGED); 1013 SetType(ET_POINTER_CAPTURE_CHANGED);
927 break; 1014 break;
928 1015
929 default: 1016 default:
930 NOTREACHED(); 1017 NOTREACHED();
931 } 1018 }
932 } 1019 }
(...skipping 17 matching lines...) Expand all
950 SetType(ET_POINTER_UP); 1037 SetType(ET_POINTER_UP);
951 break; 1038 break;
952 1039
953 case ET_TOUCH_CANCELLED: 1040 case ET_TOUCH_CANCELLED:
954 SetType(ET_POINTER_CANCELLED); 1041 SetType(ET_POINTER_CANCELLED);
955 break; 1042 break;
956 1043
957 default: 1044 default:
958 NOTREACHED(); 1045 NOTREACHED();
959 } 1046 }
1047 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
960 } 1048 }
961 1049
962 PointerEvent::PointerEvent(EventType type, 1050 PointerEvent::PointerEvent(EventType type,
963 const gfx::Point& location, 1051 const gfx::Point& location,
964 const gfx::Point& root_location, 1052 const gfx::Point& root_location,
965 int flags, 1053 int flags,
966 int pointer_id, 1054 int pointer_id,
967 int changed_button_flags, 1055 int changed_button_flags,
968 const PointerDetails& pointer_details, 1056 const PointerDetails& pointer_details,
969 base::TimeTicks time_stamp) 1057 base::TimeTicks time_stamp)
970 : LocatedEvent(type, 1058 : LocatedEvent(type,
971 gfx::PointF(location), 1059 gfx::PointF(location),
972 gfx::PointF(root_location), 1060 gfx::PointF(root_location),
973 time_stamp, 1061 time_stamp,
974 flags), 1062 flags),
975 pointer_id_(pointer_id), 1063 pointer_id_(pointer_id),
976 changed_button_flags_(changed_button_flags), 1064 changed_button_flags_(changed_button_flags),
977 details_(pointer_details) {} 1065 details_(pointer_details) {
1066 if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH)
1067 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
1068 else if (type == ET_POINTER_WHEEL_CHANGED)
1069 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
1070 else
1071 latency()->set_source_event_type(ui::SourceEventType::OTHER);
1072 }
978 1073
979 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); 1074 const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max();
980 1075
981 //////////////////////////////////////////////////////////////////////////////// 1076 ////////////////////////////////////////////////////////////////////////////////
982 // KeyEvent 1077 // KeyEvent
983 1078
984 // static 1079 // static
985 KeyEvent* KeyEvent::last_key_event_ = NULL; 1080 KeyEvent* KeyEvent::last_key_event_ = NULL;
986 1081
987 // static 1082 // static
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1090 } 1185 }
1091 1186
1092 KeyEvent& KeyEvent::operator=(const KeyEvent& rhs) { 1187 KeyEvent& KeyEvent::operator=(const KeyEvent& rhs) {
1093 if (this != &rhs) { 1188 if (this != &rhs) {
1094 Event::operator=(rhs); 1189 Event::operator=(rhs);
1095 key_code_ = rhs.key_code_; 1190 key_code_ = rhs.key_code_;
1096 code_ = rhs.code_; 1191 code_ = rhs.code_;
1097 key_ = rhs.key_; 1192 key_ = rhs.key_;
1098 is_char_ = rhs.is_char_; 1193 is_char_ = rhs.is_char_;
1099 } 1194 }
1195 latency()->set_source_event_type(ui::SourceEventType::OTHER);
1100 return *this; 1196 return *this;
1101 } 1197 }
1102 1198
1103 KeyEvent::~KeyEvent() {} 1199 KeyEvent::~KeyEvent() {}
1104 1200
1105 void KeyEvent::ApplyLayout() const { 1201 void KeyEvent::ApplyLayout() const {
1106 ui::DomCode code = code_; 1202 ui::DomCode code = code_;
1107 if (code == DomCode::NONE) { 1203 if (code == DomCode::NONE) {
1108 // Catch old code that tries to do layout without a physical key, and try 1204 // Catch old code that tries to do layout without a physical key, and try
1109 // to recover using the KeyboardCode. Once key events are fully defined 1205 // to recover using the KeyboardCode. Once key events are fully defined
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1266 } else if (type() == ET_SCROLL_FLING_START || 1362 } else if (type() == ET_SCROLL_FLING_START ||
1267 type() == ET_SCROLL_FLING_CANCEL) { 1363 type() == ET_SCROLL_FLING_CANCEL) {
1268 GetFlingData(native_event, 1364 GetFlingData(native_event,
1269 &x_offset_, &y_offset_, 1365 &x_offset_, &y_offset_,
1270 &x_offset_ordinal_, &y_offset_ordinal_, 1366 &x_offset_ordinal_, &y_offset_ordinal_,
1271 NULL); 1367 NULL);
1272 } else { 1368 } else {
1273 NOTREACHED() << "Unexpected event type " << type() 1369 NOTREACHED() << "Unexpected event type " << type()
1274 << " when constructing a ScrollEvent."; 1370 << " when constructing a ScrollEvent.";
1275 } 1371 }
1372 if (IsScrollEvent())
1373 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
1374 else
1375 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
1276 } 1376 }
1277 1377
1278 ScrollEvent::ScrollEvent(EventType type, 1378 ScrollEvent::ScrollEvent(EventType type,
1279 const gfx::Point& location, 1379 const gfx::Point& location,
1280 base::TimeTicks time_stamp, 1380 base::TimeTicks time_stamp,
1281 int flags, 1381 int flags,
1282 float x_offset, 1382 float x_offset,
1283 float y_offset, 1383 float y_offset,
1284 float x_offset_ordinal, 1384 float x_offset_ordinal,
1285 float y_offset_ordinal, 1385 float y_offset_ordinal,
1286 int finger_count) 1386 int finger_count)
1287 : MouseEvent(type, location, location, time_stamp, flags, 0), 1387 : MouseEvent(type, location, location, time_stamp, flags, 0),
1288 x_offset_(x_offset), 1388 x_offset_(x_offset),
1289 y_offset_(y_offset), 1389 y_offset_(y_offset),
1290 x_offset_ordinal_(x_offset_ordinal), 1390 x_offset_ordinal_(x_offset_ordinal),
1291 y_offset_ordinal_(y_offset_ordinal), 1391 y_offset_ordinal_(y_offset_ordinal),
1292 finger_count_(finger_count) { 1392 finger_count_(finger_count) {
1293 CHECK(IsScrollEvent()); 1393 CHECK(IsScrollEvent());
1394 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
1294 } 1395 }
1295 1396
1296 void ScrollEvent::Scale(const float factor) { 1397 void ScrollEvent::Scale(const float factor) {
1297 x_offset_ *= factor; 1398 x_offset_ *= factor;
1298 y_offset_ *= factor; 1399 y_offset_ *= factor;
1299 x_offset_ordinal_ *= factor; 1400 x_offset_ordinal_ *= factor;
1300 y_offset_ordinal_ *= factor; 1401 y_offset_ordinal_ *= factor;
1301 } 1402 }
1302 1403
1303 //////////////////////////////////////////////////////////////////////////////// 1404 ////////////////////////////////////////////////////////////////////////////////
1304 // GestureEvent 1405 // GestureEvent
1305 1406
1306 GestureEvent::GestureEvent(float x, 1407 GestureEvent::GestureEvent(float x,
1307 float y, 1408 float y,
1308 int flags, 1409 int flags,
1309 base::TimeTicks time_stamp, 1410 base::TimeTicks time_stamp,
1310 const GestureEventDetails& details, 1411 const GestureEventDetails& details,
1311 uint32_t unique_touch_event_id) 1412 uint32_t unique_touch_event_id)
1312 : LocatedEvent(details.type(), 1413 : LocatedEvent(details.type(),
1313 gfx::PointF(x, y), 1414 gfx::PointF(x, y),
1314 gfx::PointF(x, y), 1415 gfx::PointF(x, y),
1315 time_stamp, 1416 time_stamp,
1316 flags | EF_FROM_TOUCH), 1417 flags | EF_FROM_TOUCH),
1317 details_(details), 1418 details_(details),
1318 unique_touch_event_id_(unique_touch_event_id) {} 1419 unique_touch_event_id_(unique_touch_event_id) {
1420 if ((flags | EF_FROM_TOUCH) ||
brucedawson 2016/09/19 17:40:21 This line of code appears to be incorrect. This wa
sahel 2016/09/20 19:10:32 Acknowledged.
1421 (details.device_type() == ui::GestureDeviceType::DEVICE_TOUCHSCREEN)) {
1422 latency()->set_source_event_type(ui::SourceEventType::TOUCH);
1423 } else if (details.device_type() == ui::GestureDeviceType::DEVICE_TOUCHPAD) {
1424 latency()->set_source_event_type(ui::SourceEventType::WHEEL);
1425 }
1426 }
1319 1427
1320 GestureEvent::~GestureEvent() { 1428 GestureEvent::~GestureEvent() {
1321 } 1429 }
1322 1430
1323 } // namespace ui 1431 } // namespace ui
OLDNEW
« no previous file with comments | « ui/events/blink/web_input_event_traits.cc ('k') | ui/events/event_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698