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 fa95881c2f1528239cb7f92f94a60e52d056d045..b66f5ac82b9f83745a27af2d3f1163131b48de3e 100644 |
--- a/content/renderer/input/input_handler_proxy.cc |
+++ b/content/renderer/input/input_handler_proxy.cc |
@@ -295,6 +295,7 @@ InputHandlerProxy::HandleGestureFling( |
fling_parameters_.modifiers = gesture_event.modifiers; |
fling_parameters_.sourceDevice = gesture_event.sourceDevice; |
input_handler_->ScheduleAnimation(); |
+ client_->DidStartFlinging(); |
return DID_HANDLE; |
} |
case cc::InputHandler::ScrollOnMainThread: { |
@@ -303,6 +304,7 @@ InputHandlerProxy::HandleGestureFling( |
"scroll_on_main_thread", |
TRACE_EVENT_SCOPE_THREAD); |
fling_may_be_active_on_main_thread_ = true; |
+ client_->DidStartFlinging(); |
jdduke (slow)
2014/01/10 17:45:59
So, if the fling goes unhandled by main, the |DidS
|
return DID_NOT_HANDLE; |
} |
case cc::InputHandler::ScrollIgnored: { |
@@ -352,6 +354,7 @@ void InputHandlerProxy::Animate(base::TimeTicks time) { |
void InputHandlerProxy::MainThreadHasStoppedFlinging() { |
fling_may_be_active_on_main_thread_ = false; |
+ client_->DidStopFlinging(); |
} |
void InputHandlerProxy::DidOverscroll(const cc::DidOverscrollParams& params) { |
@@ -388,6 +391,8 @@ bool InputHandlerProxy::CancelCurrentFling() { |
fling_curve_.reset(); |
gesture_scroll_on_impl_thread_ = false; |
fling_parameters_ = blink::WebActiveWheelFlingParameters(); |
+ if (had_fling_animation) |
+ client_->DidStopFlinging(); |
return had_fling_animation; |
} |