| Index: content/renderer/input/input_handler_proxy.cc
|
| diff --git a/content/renderer/input/input_handler_proxy.cc b/content/renderer/input/input_handler_proxy.cc
|
| index 47c0b6295cb19140510bbe03ab2257d7269c0ccf..7ad2cb8bf791a8e4d64a017d8dc6a8eb20e1b40c 100644
|
| --- a/content/renderer/input/input_handler_proxy.cc
|
| +++ b/content/renderer/input/input_handler_proxy.cc
|
| @@ -418,7 +418,9 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleMouseWheel(
|
|
|
| InputHandlerProxy::EventDisposition InputHandlerProxy::HandleGestureScrollBegin(
|
| const WebGestureEvent& gesture_event) {
|
| - DCHECK(!gesture_scroll_on_impl_thread_);
|
| + if (gesture_scroll_on_impl_thread_)
|
| + CancelCurrentFling();
|
| +
|
| #ifndef NDEBUG
|
| DCHECK(!expect_scroll_update_end_);
|
| expect_scroll_update_end_ = true;
|
| @@ -530,7 +532,7 @@ InputHandlerProxy::EventDisposition InputHandlerProxy::HandleGestureFlingStart(
|
| WebPoint(gesture_event.globalX, gesture_event.globalY);
|
| fling_parameters_.modifiers = gesture_event.modifiers;
|
| fling_parameters_.sourceDevice = gesture_event.sourceDevice;
|
| - input_handler_->SetNeedsAnimate();
|
| + input_handler_->SetNeedsAnimateInput();
|
| return DID_HANDLE;
|
| }
|
| case cc::InputHandler::SCROLL_UNKNOWN:
|
| @@ -752,7 +754,7 @@ void InputHandlerProxy::Animate(base::TimeTicks time) {
|
| monotonic_time_sec >= fling_parameters_.startTime +
|
| kMaxSecondsFromFlingTimestampToFirstAnimate) {
|
| fling_parameters_.startTime = monotonic_time_sec;
|
| - input_handler_->SetNeedsAnimate();
|
| + input_handler_->SetNeedsAnimateInput();
|
| return;
|
| }
|
| }
|
| @@ -765,7 +767,7 @@ void InputHandlerProxy::Animate(base::TimeTicks time) {
|
| fling_is_active = false;
|
|
|
| if (fling_is_active) {
|
| - input_handler_->SetNeedsAnimate();
|
| + input_handler_->SetNeedsAnimateInput();
|
| } else {
|
| TRACE_EVENT_INSTANT0("input",
|
| "InputHandlerProxy::animate::flingOver",
|
|
|