Index: ui/events/event.cc |
diff --git a/ui/events/event.cc b/ui/events/event.cc |
index 6d2df8d8f7224bcee06a4ef01f79a8fc49f083bd..b19b653893a6cdd1c5e5d77fd57c52eee66bf378 100644 |
--- a/ui/events/event.cc |
+++ b/ui/events/event.cc |
@@ -457,6 +457,7 @@ MouseEvent::MouseEvent(const base::NativeEvent& native_event) |
: LocatedEvent(native_event), |
changed_button_flags_(GetChangedMouseButtonFlagsFromNative(native_event)), |
pointer_details_(GetMousePointerDetailsFromNative(native_event)) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
latency()->AddLatencyNumberWithTimestamp( |
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0, |
base::TimeTicks::FromInternalValue(time_stamp().ToInternalValue()), 1); |
@@ -469,6 +470,7 @@ MouseEvent::MouseEvent(const PointerEvent& pointer_event) |
: LocatedEvent(pointer_event), |
changed_button_flags_(pointer_event.changed_button_flags()), |
pointer_details_(pointer_event.pointer_details()) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
DCHECK(pointer_event.IsMousePointerEvent()); |
switch (pointer_event.type()) { |
case ET_POINTER_DOWN: |
@@ -525,6 +527,7 @@ MouseEvent::MouseEvent(EventType type, |
changed_button_flags_(changed_button_flags), |
pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_MOUSE)) { |
DCHECK_NE(ET_MOUSEWHEEL, type); |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
if (this->type() == ET_MOUSE_MOVED && IsAnyButton()) |
SetType(ET_MOUSE_DRAGGED); |
@@ -654,12 +657,14 @@ void MouseEvent::SetClickCount(int click_count) { |
MouseWheelEvent::MouseWheelEvent(const base::NativeEvent& native_event) |
: MouseEvent(native_event), |
offset_(GetMouseWheelOffset(native_event)) { |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
} |
MouseWheelEvent::MouseWheelEvent(const ScrollEvent& scroll_event) |
: MouseEvent(scroll_event), |
offset_(gfx::ToRoundedInt(scroll_event.x_offset()), |
gfx::ToRoundedInt(scroll_event.y_offset())) { |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
SetType(ET_MOUSEWHEEL); |
} |
@@ -674,12 +679,14 @@ MouseWheelEvent::MouseWheelEvent(const MouseEvent& mouse_event, |
int x_offset, |
int y_offset) |
: MouseEvent(mouse_event), offset_(x_offset, y_offset) { |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
SetType(ET_MOUSEWHEEL); |
} |
MouseWheelEvent::MouseWheelEvent(const MouseWheelEvent& mouse_wheel_event) |
: MouseEvent(mouse_wheel_event), |
offset_(mouse_wheel_event.offset()) { |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
DCHECK_EQ(ET_MOUSEWHEEL, type()); |
} |
@@ -700,6 +707,7 @@ MouseWheelEvent::MouseWheelEvent(const gfx::Vector2d& offset, |
// DCHECK for type to enforce that we use MouseWheelEvent() to create |
// a MouseWheelEvent. |
SetType(ui::ET_MOUSEWHEEL); |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
} |
#if defined(OS_WIN) |
@@ -722,6 +730,7 @@ TouchEvent::TouchEvent(const base::NativeEvent& native_event) |
may_cause_scrolling_(false), |
should_remove_native_touch_id_mapping_(false), |
pointer_details_(GetTouchPointerDetailsFromNative(native_event)) { |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
latency()->AddLatencyNumberWithTimestamp( |
INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0, 0, |
base::TimeTicks::FromInternalValue(time_stamp().ToInternalValue()), 1); |
@@ -740,6 +749,7 @@ TouchEvent::TouchEvent(const PointerEvent& pointer_event) |
may_cause_scrolling_(false), |
should_remove_native_touch_id_mapping_(false), |
pointer_details_(pointer_event.pointer_details()) { |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
DCHECK(pointer_event.IsTouchPointerEvent()); |
switch (pointer_event.type()) { |
case ET_POINTER_DOWN: |
@@ -778,6 +788,7 @@ TouchEvent::TouchEvent(EventType type, |
may_cause_scrolling_(false), |
should_remove_native_touch_id_mapping_(false), |
pointer_details_(PointerDetails(EventPointerType::POINTER_TYPE_TOUCH)) { |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
} |
@@ -806,6 +817,7 @@ TouchEvent::TouchEvent(EventType type, |
force, |
/* tilt_x */ 0.0f, |
/* tilt_y */ 0.0f)) { |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
latency()->AddLatencyNumber(INPUT_EVENT_LATENCY_UI_COMPONENT, 0, 0); |
FixRotationAngle(); |
} |
@@ -886,7 +898,14 @@ PointerEvent::PointerEvent(const PointerEvent& pointer_event) |
: LocatedEvent(pointer_event), |
pointer_id_(pointer_event.pointer_id()), |
changed_button_flags_(pointer_event.changed_button_flags()), |
- details_(pointer_event.pointer_details()) {} |
+ details_(pointer_event.pointer_details()) { |
+ if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH) |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
+ else if (pointer_event.type() == ET_POINTER_WHEEL_CHANGED) |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
+ else |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
+} |
PointerEvent::PointerEvent(const MouseEvent& mouse_event) |
: LocatedEvent(mouse_event), |
@@ -894,6 +913,7 @@ PointerEvent::PointerEvent(const MouseEvent& mouse_event) |
changed_button_flags_(mouse_event.changed_button_flags()), |
details_(mouse_event.pointer_details()) { |
DCHECK(CanConvertFrom(mouse_event)); |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
switch (mouse_event.type()) { |
case ET_MOUSE_PRESSED: |
SetType(ET_POINTER_DOWN); |
@@ -920,6 +940,7 @@ PointerEvent::PointerEvent(const MouseEvent& mouse_event) |
SetType(ET_POINTER_WHEEL_CHANGED); |
details_ = PointerDetails(EventPointerType::POINTER_TYPE_MOUSE, |
mouse_event.AsMouseWheelEvent()->offset()); |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
break; |
case ET_MOUSE_CAPTURE_CHANGED: |
@@ -957,6 +978,7 @@ PointerEvent::PointerEvent(const TouchEvent& touch_event) |
default: |
NOTREACHED(); |
} |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
} |
PointerEvent::PointerEvent(EventType type, |
@@ -974,7 +996,14 @@ PointerEvent::PointerEvent(EventType type, |
flags), |
pointer_id_(pointer_id), |
changed_button_flags_(changed_button_flags), |
- details_(pointer_details) {} |
+ details_(pointer_details) { |
+ if (details_.pointer_type == EventPointerType::POINTER_TYPE_TOUCH) |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
+ else if (type == ET_POINTER_WHEEL_CHANGED) |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
+ else |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
+} |
const int PointerEvent::kMousePointerId = std::numeric_limits<int32_t>::max(); |
@@ -1023,13 +1052,16 @@ bool KeyEvent::IsRepeated(const KeyEvent& event) { |
} |
KeyEvent::KeyEvent(const base::NativeEvent& native_event) |
- : KeyEvent(native_event, EventFlagsFromNative(native_event)) {} |
+ : KeyEvent(native_event, EventFlagsFromNative(native_event)) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
+} |
KeyEvent::KeyEvent(const base::NativeEvent& native_event, int event_flags) |
: Event(native_event, EventTypeFromNative(native_event), event_flags), |
key_code_(KeyboardCodeFromNative(native_event)), |
code_(CodeFromNative(native_event)), |
is_char_(IsCharFromNative(native_event)) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
if (IsRepeated(*this)) |
set_flags(flags() | ui::EF_IS_REPEAT); |
@@ -1051,6 +1083,7 @@ KeyEvent::KeyEvent(EventType type, |
: Event(type, EventTimeForNow(), flags), |
key_code_(key_code), |
code_(UsLayoutKeyboardCodeToDomCode(key_code)) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
} |
KeyEvent::KeyEvent(EventType type, |
@@ -1060,6 +1093,7 @@ KeyEvent::KeyEvent(EventType type, |
: Event(type, EventTimeForNow(), flags), |
key_code_(key_code), |
code_(code) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
} |
KeyEvent::KeyEvent(EventType type, |
@@ -1071,7 +1105,9 @@ KeyEvent::KeyEvent(EventType type, |
: Event(type, time_stamp, flags), |
key_code_(key_code), |
code_(code), |
- key_(key) {} |
+ key_(key) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
+} |
KeyEvent::KeyEvent(base::char16 character, KeyboardCode key_code, int flags) |
: Event(ET_KEY_PRESSED, EventTimeForNow(), flags), |
@@ -1079,6 +1115,7 @@ KeyEvent::KeyEvent(base::char16 character, KeyboardCode key_code, int flags) |
code_(DomCode::NONE), |
is_char_(true), |
key_(DomKey::FromCharacter(character)) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
sky
2016/09/13 00:12:18
Why do you have to explicitly set the source type
sahel
2016/09/13 14:29:53
The default is UNKNOWN, OTHER is for the cases tha
|
} |
KeyEvent::KeyEvent(const KeyEvent& rhs) |
@@ -1087,6 +1124,7 @@ KeyEvent::KeyEvent(const KeyEvent& rhs) |
code_(rhs.code_), |
is_char_(rhs.is_char_), |
key_(rhs.key_) { |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
} |
KeyEvent& KeyEvent::operator=(const KeyEvent& rhs) { |
@@ -1097,6 +1135,7 @@ KeyEvent& KeyEvent::operator=(const KeyEvent& rhs) { |
key_ = rhs.key_; |
is_char_ = rhs.is_char_; |
} |
+ latency()->set_source_event_type(ui::SourceEventType::OTHER); |
return *this; |
} |
@@ -1273,6 +1312,7 @@ ScrollEvent::ScrollEvent(const base::NativeEvent& native_event) |
NOTREACHED() << "Unexpected event type " << type() |
<< " when constructing a ScrollEvent."; |
} |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
} |
ScrollEvent::ScrollEvent(EventType type, |
@@ -1291,6 +1331,7 @@ ScrollEvent::ScrollEvent(EventType type, |
y_offset_ordinal_(y_offset_ordinal), |
finger_count_(finger_count) { |
CHECK(IsScrollEvent()); |
+ latency()->set_source_event_type(ui::SourceEventType::WHEEL); |
} |
void ScrollEvent::Scale(const float factor) { |
@@ -1315,7 +1356,9 @@ GestureEvent::GestureEvent(float x, |
time_stamp, |
flags | EF_FROM_TOUCH), |
details_(details), |
- unique_touch_event_id_(unique_touch_event_id) {} |
+ unique_touch_event_id_(unique_touch_event_id) { |
+ latency()->set_source_event_type(ui::SourceEventType::TOUCH); |
+} |
GestureEvent::~GestureEvent() { |
} |