Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(500)

Unified Diff: content/browser/renderer_host/input/input_router_impl.cc

Issue 281723010: Bundle DidOverscrollParams with the InputEventAck (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix build Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 4c82f22d6443c2c601b2b85965eba67809bf8613..6f972e0ac7a10ea8099590360da1f48850a23175 100644
--- a/content/browser/renderer_host/input/input_router_impl.cc
+++ b/content/browser/renderer_host/input/input_router_impl.cc
@@ -270,6 +270,7 @@ bool InputRouterImpl::OnMessageReceived(const IPC::Message& message) {
bool handled = true;
IPC_BEGIN_MESSAGE_MAP(InputRouterImpl, message)
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,
@@ -486,16 +487,21 @@ 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 InputHostMsg_HandleInputEvent_ACK_Params& 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) {
+ DCHECK(ack.type == WebInputEvent::MouseWheel ||
+ ack.type == WebInputEvent::GestureScrollUpdate);
+ 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
@@ -505,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_)

Powered by Google App Engine
This is Rietveld 408576698