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)); |
} |