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

Unified Diff: content/renderer/render_widget.cc

Issue 997283002: Coalesce async touch move events until the ack back from render (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Ack struct and unittest Created 5 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/renderer/render_widget.cc
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 94d484f72ed7a922a2fe850a9a5bd2611ff70e1c..bb3cadf498c05b627d14f435dc18e1907ece1d48 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -1239,11 +1239,10 @@ void RenderWidget::OnHandleInputEvent(const blink::WebInputEvent* input_event,
// by reentrant calls for events after the paused one.
bool no_ack = ignore_ack_for_mouse_move_from_debugger_ &&
input_event->type == WebInputEvent::MouseMove;
- if (!WebInputEventTraits::IgnoresAckDisposition(*input_event) && !no_ack) {
- InputHostMsg_HandleInputEvent_ACK_Params ack;
- ack.type = input_event->type;
- ack.state = ack_result;
- ack.latency = swap_latency_info;
+ if (WebInputEventTraits::WillReceiveAckFromRenderer(*input_event) &&
+ !no_ack) {
+ InputEventAck ack(input_event->type, ack_result, swap_latency_info,
jdduke (slow) 2015/05/07 21:11:16 Looking at this now, I wonder if this is really an
+ WebInputEventTraits::GetUniqueTouchEventId(*input_event));
scoped_ptr<IPC::Message> response(
new InputHostMsg_HandleInputEvent_ACK(routing_id_, ack));
if (rate_limiting_wanted && frame_pending && !is_hidden_) {
@@ -1789,9 +1788,7 @@ bool RenderWidget::SendAckForMouseMoveFromDebugger() {
// If we pause multiple times during a single mouse move event, we should
// only send ACK once.
if (!ignore_ack_for_mouse_move_from_debugger_) {
- InputHostMsg_HandleInputEvent_ACK_Params ack;
- ack.type = handling_event_type_;
- ack.state = INPUT_EVENT_ACK_STATE_CONSUMED;
+ InputEventAck ack(handling_event_type_, INPUT_EVENT_ACK_STATE_CONSUMED);
Send(new InputHostMsg_HandleInputEvent_ACK(routing_id_, ack));
return true;
}

Powered by Google App Engine
This is Rietveld 408576698