Chromium Code Reviews| Index: ui/events/blink/input_handler_proxy.cc |
| diff --git a/ui/events/blink/input_handler_proxy.cc b/ui/events/blink/input_handler_proxy.cc |
| index a4100162e2c0adec240cd4968f1069fa0aaabbb6..3d8958e287008354745dd2e0db7881fd7d5f1be0 100644 |
| --- a/ui/events/blink/input_handler_proxy.cc |
| +++ b/ui/events/blink/input_handler_proxy.cc |
| @@ -140,6 +140,12 @@ cc::ScrollState CreateScrollStateForGesture(const WebGestureEvent& event) { |
| scroll_state_data.position_x = event.x; |
| scroll_state_data.position_y = event.y; |
| scroll_state_data.is_beginning = true; |
| + // On Mac, a GestureScrollBegin in the inertial phase indicates a fling |
| + // start. |
| + if (event.data.scrollBegin.inertialPhase == |
| + WebGestureEvent::MomentumPhase) { |
| + scroll_state_data.is_in_inertial_phase = true; |
|
dtapuska
2016/12/13 21:16:42
Can we short hand this to:
scroll_state_data.is_in
|
| + } |
| break; |
| case WebInputEvent::GestureFlingStart: |
| scroll_state_data.velocity_x = event.data.flingStart.velocityX; |
| @@ -788,6 +794,7 @@ InputHandlerProxy::HandleGestureScrollUpdate( |
| if (ShouldAnimate(gesture_event.data.scrollUpdate.deltaUnits != |
| blink::WebGestureEvent::ScrollUnits::Pixels)) { |
| + DCHECK(!scroll_state.is_in_inertial_phase()); |
| base::TimeTicks event_time = |
| base::TimeTicks() + |
| base::TimeDelta::FromSecondsD(gesture_event.timeStampSeconds); |