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

Unified Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 541033003: Added coordinates information to InputLatency (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 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/render_widget_host_impl.cc
diff --git a/content/browser/renderer_host/render_widget_host_impl.cc b/content/browser/renderer_host/render_widget_host_impl.cc
index fd62be09bab88aaab1955bfea0dfb816db189378..8c704871799ff525d1a9b06474772b3cf37641b2 100644
--- a/content/browser/renderer_host/render_widget_host_impl.cc
+++ b/content/browser/renderer_host/render_widget_host_impl.cc
@@ -852,8 +852,12 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
TRACE_EVENT2("input", "RenderWidgetHostImpl::ForwardMouseEvent",
"x", mouse_event.x, "y", mouse_event.y);
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
+ coordinates.push_back(std::make_pair(mouse_event.x, mouse_event.y));
+
ui::LatencyInfo latency_info =
- CreateRWHLatencyInfoIfNotExist(&ui_latency, mouse_event.type);
+ CreateRWHLatencyInfoIfNotExist(&ui_latency, mouse_event.type,
+ coordinates);
for (size_t i = 0; i < mouse_event_callbacks_.size(); ++i) {
if (mouse_event_callbacks_[i].Run(mouse_event))
@@ -883,8 +887,12 @@ void RenderWidgetHostImpl::ForwardWheelEventWithLatencyInfo(
const ui::LatencyInfo& ui_latency) {
TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardWheelEvent");
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
+ coordinates.push_back(std::make_pair(wheel_event.x, wheel_event.y));
+
ui::LatencyInfo latency_info =
- CreateRWHLatencyInfoIfNotExist(&ui_latency, wheel_event.type);
+ CreateRWHLatencyInfoIfNotExist(&ui_latency, wheel_event.type,
+ coordinates);
if (IgnoreInputEvents())
return;
@@ -912,8 +920,12 @@ void RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo(
if (delegate_->PreHandleGestureEvent(gesture_event))
return;
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
+ coordinates.push_back(std::make_pair(gesture_event.x, gesture_event.y));
+
ui::LatencyInfo latency_info =
- CreateRWHLatencyInfoIfNotExist(&ui_latency, gesture_event.type);
+ CreateRWHLatencyInfoIfNotExist(&ui_latency, gesture_event.type,
+ coordinates);
if (gesture_event.type == blink::WebInputEvent::GestureScrollUpdate) {
latency_info.AddLatencyNumber(
@@ -944,8 +956,15 @@ void RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo(
void RenderWidgetHostImpl::ForwardEmulatedTouchEvent(
const blink::WebTouchEvent& touch_event) {
TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardEmulatedTouchEvent");
+
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
+ for (size_t i = 0; i < touch_event.touches_length; i++)
Sami 2014/09/04 19:10:43 Add {}
cvicentiu 2014/09/05 17:19:56 Done.
+ coordinates.push_back(std::make_pair(
+ touch_event.touches[i].position.x,
+ touch_event.touches[i].position.y));
+
ui::LatencyInfo latency_info =
- CreateRWHLatencyInfoIfNotExist(NULL, touch_event.type);
+ CreateRWHLatencyInfoIfNotExist(NULL, touch_event.type, coordinates);
TouchEventWithLatencyInfo touch_with_latency(touch_event, latency_info);
input_router_->SendTouchEvent(touch_with_latency);
}
@@ -957,9 +976,16 @@ void RenderWidgetHostImpl::ForwardTouchEventWithLatencyInfo(
// Always forward TouchEvents for touch stream consistency. They will be
// ignored if appropriate in FilterInputEvent().
+ //
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
+ for (size_t i = 0; i < touch_event.touches_length; i++)
Sami 2014/09/04 19:10:43 Add {}
cvicentiu 2014/09/05 17:19:56 Done.
+ coordinates.push_back(std::make_pair(
+ touch_event.touches[i].position.x,
+ touch_event.touches[i].position.y));
ui::LatencyInfo latency_info =
- CreateRWHLatencyInfoIfNotExist(&ui_latency, touch_event.type);
+ CreateRWHLatencyInfoIfNotExist(&ui_latency, touch_event.type,
+ coordinates);
TouchEventWithLatencyInfo touch_with_latency(touch_event, latency_info);
if (touch_emulator_ &&
@@ -1038,9 +1064,11 @@ void RenderWidgetHostImpl::ForwardKeyboardEvent(
if (touch_emulator_ && touch_emulator_->HandleKeyboardEvent(key_event))
return;
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates;
Sami 2014/09/04 19:10:43 Add a comment saying key events have no coordinate
cvicentiu 2014/09/05 17:19:56 Done.
+
input_router_->SendKeyboardEvent(
key_event,
- CreateRWHLatencyInfoIfNotExist(NULL, key_event.type),
+ CreateRWHLatencyInfoIfNotExist(NULL, key_event.type, coordinates),
is_shortcut);
}
@@ -1083,10 +1111,16 @@ void RenderWidgetHostImpl::DisableResizeAckCheckForTesting() {
}
ui::LatencyInfo RenderWidgetHostImpl::CreateRWHLatencyInfoIfNotExist(
- const ui::LatencyInfo* original, WebInputEvent::Type type) {
+ const ui::LatencyInfo* original, WebInputEvent::Type type,
+ ui::LatencyInfo::LatencyScreenCoordinates coordinates) {
Sami 2014/09/04 19:10:43 Make this parameter a const ref: const ui::La
cvicentiu 2014/09/05 17:19:56 Done.
+/* printf("[");
+ for (size_t i = 0; i < coordinates.num_coordinates; i++)
+ printf("(%d %d) ", coordinates.x[i], coordinates.y[i]);
+ printf("]\n");*/
ui::LatencyInfo info;
if (original)
info = *original;
+ info.coordinates = coordinates;
// In Aura, gesture event will already carry its original touch event's
// INPUT_EVENT_LATENCY_RWH_COMPONENT.
if (!info.FindLatency(ui::INPUT_EVENT_LATENCY_BEGIN_RWH_COMPONENT,

Powered by Google App Engine
This is Rietveld 408576698