Index: content/browser/renderer_host/input/input_router_impl.cc |
diff --git a/content/browser/renderer_host/input/input_router_impl.cc b/content/browser/renderer_host/input/input_router_impl.cc |
index 4f12318d88079bbeed1709666ec80a3e8500dcd2..da4e001b1110ee05d84bf859ae89d1cbfbdc8ece 100644 |
--- a/content/browser/renderer_host/input/input_router_impl.cc |
+++ b/content/browser/renderer_host/input/input_router_impl.cc |
@@ -271,6 +271,7 @@ bool InputRouterImpl::OnMessageReceived(const IPC::Message& message) { |
bool message_is_ok = true; |
IPC_BEGIN_MESSAGE_MAP_EX(InputRouterImpl, message, message_is_ok) |
IPC_MESSAGE_HANDLER(InputHostMsg_HandleInputEvent_ACK, OnInputEventAck) |
+ IPC_MESSAGE_HANDLER(InputHostMsg_DidOverscroll, OnDidOverscroll) |
IPC_MESSAGE_HANDLER(ViewHostMsg_MoveCaret_ACK, OnMsgMoveCaretAck) |
IPC_MESSAGE_HANDLER(ViewHostMsg_SelectRange_ACK, OnSelectRangeAck) |
IPC_MESSAGE_HANDLER(ViewHostMsg_HasTouchEventHandlers, |
@@ -490,16 +491,17 @@ void InputRouterImpl::SendSyntheticWheelEventForPinch( |
MouseWheelEventWithLatencyInfo(wheelEvent, pinch_event.latency), true)); |
} |
-void InputRouterImpl::OnInputEventAck(WebInputEvent::Type event_type, |
- InputEventAckState ack_result, |
- const ui::LatencyInfo& latency_info) { |
+void InputRouterImpl::OnInputEventAck(const InputEventAck& ack) { |
client_->DecrementInFlightEventCount(); |
// Log the time delta for processing an input event. |
TimeDelta delta = TimeTicks::Now() - input_event_start_time_; |
UMA_HISTOGRAM_TIMES("MPArch.IIR_InputEventDelta", delta); |
- ProcessInputEventAck(event_type, ack_result, latency_info, RENDERER); |
+ if (ack.overscroll) |
tdresser
2014/05/14 18:20:08
Although its redundant, I think it would be cleare
jdduke (slow)
2014/05/19 20:48:02
Done.
|
+ OnDidOverscroll(*ack.overscroll); |
+ |
+ ProcessInputEventAck(ack.type, ack.state, ack.latency, RENDERER); |
// WARNING: |this| may be deleted at this point. |
// This is used only for testing, and the other end does not use the |
@@ -509,13 +511,17 @@ void InputRouterImpl::OnInputEventAck(WebInputEvent::Type event_type, |
// (ProcessInputEventAck) method, but not on other platforms; using |
// 'void' instead is just as safe (since NotificationSource |
// is not actually typesafe) and avoids this error. |
- int type = static_cast<int>(event_type); |
+ int type = static_cast<int>(ack.type); |
NotificationService::current()->Notify( |
NOTIFICATION_RENDER_WIDGET_HOST_DID_RECEIVE_INPUT_EVENT_ACK, |
Source<void>(this), |
Details<int>(&type)); |
} |
+void InputRouterImpl::OnDidOverscroll(const DidOverscrollParams& params) { |
+ client_->DidOverscroll(params); |
+} |
+ |
void InputRouterImpl::OnMsgMoveCaretAck() { |
move_caret_pending_ = false; |
if (next_move_caret_) |