| Index: ui/events/gestures/gesture_provider_aura.cc
|
| diff --git a/ui/events/gestures/gesture_provider_aura.cc b/ui/events/gestures/gesture_provider_aura.cc
|
| index edff9e38979939fe567cc06862a1b6b34cde1901..39642e07f324048500d06c75b75b660817d2da37 100644
|
| --- a/ui/events/gestures/gesture_provider_aura.cc
|
| +++ b/ui/events/gestures/gesture_provider_aura.cc
|
| @@ -23,7 +23,6 @@ GestureProviderAura::GestureProviderAura(GestureProviderAuraClient* client)
|
| GestureProviderAura::~GestureProviderAura() {}
|
|
|
| bool GestureProviderAura::OnTouchEvent(const TouchEvent& event) {
|
| - last_touch_event_flags_ = event.flags();
|
| bool pointer_id_is_active = false;
|
| for (size_t i = 0; i < pointer_state_.GetPointerCount(); ++i) {
|
| if (event.touch_id() != pointer_state_.GetPointerId(i))
|
| @@ -42,6 +41,8 @@ bool GestureProviderAura::OnTouchEvent(const TouchEvent& event) {
|
| return false;
|
| }
|
|
|
| + last_touch_event_flags_ = event.flags();
|
| + last_touch_event_latency_info_ = *event.latency();
|
| pointer_state_.OnTouch(event);
|
|
|
| bool result = filtered_gesture_provider_.OnTouchEvent(pointer_state_);
|
| @@ -54,6 +55,7 @@ void GestureProviderAura::OnTouchEventAck(bool event_consumed) {
|
| DCHECK(!handling_event_);
|
| base::AutoReset<bool> handling_event(&handling_event_, true);
|
| filtered_gesture_provider_.OnTouchEventAck(event_consumed);
|
| + last_touch_event_latency_info_.Clear();
|
| }
|
|
|
| void GestureProviderAura::OnGestureEvent(
|
| @@ -87,6 +89,19 @@ void GestureProviderAura::OnGestureEvent(
|
| // be cleaned up. See crbug.com/366707.
|
| 1 << gesture.motion_event_id));
|
|
|
| +
|
| + ui::LatencyInfo* gesture_latency = event->latency();
|
| +
|
| + gesture_latency->CopyLatencyFrom(
|
| + last_touch_event_latency_info_,
|
| + ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT);
|
| + gesture_latency->CopyLatencyFrom(
|
| + last_touch_event_latency_info_,
|
| + ui::INPUT_EVENT_LATENCY_UI_COMPONENT);
|
| + gesture_latency->CopyLatencyFrom(
|
| + last_touch_event_latency_info_,
|
| + ui::INPUT_EVENT_LATENCY_ACKED_TOUCH_COMPONENT);
|
| +
|
| if (!handling_event_) {
|
| // Dispatching event caused by timer.
|
| client_->OnGestureEvent(event.get());
|
|
|