| Index: chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| diff --git a/chrome/browser/android/vr_shell/vr_shell_gl.cc b/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| index 5736237f64b61d16d9488ce0be7ba0cd0d1d3bcf..81397edd8fd3d873d1c833186f2435a59c720f17 100644
|
| --- a/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| +++ b/chrome/browser/android/vr_shell/vr_shell_gl.cc
|
| @@ -727,25 +727,37 @@ void VrShellGl::SendEventsToTarget(InputTarget input_target,
|
| // Once the user starts scrolling send all the scroll events to this
|
| // element until the scrolling stops.
|
| case WebInputEvent::kGestureScrollBegin:
|
| - current_scroll_target = input_target;
|
| - if (current_scroll_target != InputTarget::NONE) {
|
| - SendGesture(current_scroll_target, std::move(movableGesture));
|
| + current_scroll_target_ = input_target;
|
| + if (current_scroll_target_ != InputTarget::NONE) {
|
| + SendGesture(current_scroll_target_, std::move(movableGesture));
|
| }
|
| break;
|
| case WebInputEvent::kGestureScrollEnd:
|
| - if (current_scroll_target != InputTarget::NONE) {
|
| - SendGesture(current_scroll_target, std::move(movableGesture));
|
| + if (current_scroll_target_ != InputTarget::NONE) {
|
| + SendGesture(current_scroll_target_, std::move(movableGesture));
|
| }
|
| - current_scroll_target = InputTarget::NONE;
|
| + current_fling_target_ = current_scroll_target_;
|
| + current_scroll_target_ = InputTarget::NONE;
|
| break;
|
| case WebInputEvent::kGestureScrollUpdate:
|
| - case WebInputEvent::kGestureFlingCancel:
|
| + if (current_scroll_target_ != InputTarget::NONE) {
|
| + SendGesture(current_scroll_target_, std::move(movableGesture));
|
| + }
|
| + break;
|
| case WebInputEvent::kGestureFlingStart:
|
| - if (current_scroll_target != InputTarget::NONE) {
|
| - SendGesture(current_scroll_target, std::move(movableGesture));
|
| + if (current_fling_target_ != InputTarget::NONE) {
|
| + SendGesture(current_fling_target_, std::move(movableGesture));
|
| + }
|
| + current_fling_target_ = InputTarget::NONE;
|
| + break;
|
| + case WebInputEvent::kGestureFlingCancel:
|
| + current_fling_target_ = InputTarget::NONE;
|
| + if (input_target != InputTarget::NONE) {
|
| + SendGesture(input_target, std::move(movableGesture));
|
| }
|
| break;
|
| case WebInputEvent::kGestureTapDown:
|
| + current_fling_target_ = InputTarget::NONE;
|
| if (input_target != InputTarget::NONE) {
|
| SendGesture(input_target, std::move(movableGesture));
|
| }
|
|
|