| Index: ui/events/gesture_detection/filtered_gesture_provider.cc
|
| diff --git a/ui/events/gesture_detection/filtered_gesture_provider.cc b/ui/events/gesture_detection/filtered_gesture_provider.cc
|
| index 76ee5201d1adae15f650074a1ce9956e588d494c..55f4fad1f29a2254b7c374336e18e73c4b3871b5 100644
|
| --- a/ui/events/gesture_detection/filtered_gesture_provider.cc
|
| +++ b/ui/events/gesture_detection/filtered_gesture_provider.cc
|
| @@ -16,14 +16,16 @@ FilteredGestureProvider::FilteredGestureProvider(
|
| : client_(client),
|
| gesture_provider_(config, this),
|
| gesture_filter_(this),
|
| - handling_event_(false) {}
|
| + handling_event_(false),
|
| + last_touch_event_did_generate_scroll_(false) {
|
| +}
|
|
|
| bool FilteredGestureProvider::OnTouchEvent(const MotionEvent& event) {
|
| DCHECK(!handling_event_);
|
| base::AutoReset<bool> handling_event(&handling_event_, true);
|
|
|
| pending_gesture_packet_ = GestureEventDataPacket::FromTouch(event);
|
| -
|
| + last_touch_event_did_generate_scroll_ = false;
|
| if (!gesture_provider_.OnTouchEvent(event))
|
| return false;
|
|
|
| @@ -59,8 +61,16 @@ const ui::MotionEvent* FilteredGestureProvider::GetCurrentDownEvent() const {
|
| return gesture_provider_.current_down_event();
|
| }
|
|
|
| +bool FilteredGestureProvider::LastTouchEventDidGenerateScroll() const {
|
| + return last_touch_event_did_generate_scroll_;
|
| +}
|
| +
|
| void FilteredGestureProvider::OnGestureEvent(const GestureEventData& event) {
|
| if (handling_event_) {
|
| + if (event.details.type() == ui::ET_GESTURE_SCROLL_BEGIN ||
|
| + event.details.type() == ui::ET_GESTURE_SCROLL_UPDATE) {
|
| + last_touch_event_did_generate_scroll_ = true;
|
| + }
|
| pending_gesture_packet_.Push(event);
|
| return;
|
| }
|
|
|