Chromium Code Reviews| 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_) |