| 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 f43e3f85938712b86791115ae17e4877f1c3a7fb..c449592d144727419f175de0316ff6a094caf23c 100644
|
| --- a/content/browser/renderer_host/render_widget_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
| @@ -974,7 +974,7 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
|
| return;
|
|
|
| MouseEventWithLatencyInfo mouse_with_latency(mouse_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(mouse_event, &mouse_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(mouse_event, &mouse_with_latency.latency);
|
| input_router_->SendMouseEvent(mouse_with_latency);
|
| }
|
|
|
| @@ -996,7 +996,7 @@ void RenderWidgetHostImpl::ForwardWheelEventWithLatencyInfo(
|
| return;
|
|
|
| MouseWheelEventWithLatencyInfo wheel_with_latency(wheel_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(wheel_event, &wheel_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(wheel_event, &wheel_with_latency.latency);
|
| input_router_->SendWheelEvent(wheel_with_latency);
|
| }
|
|
|
| @@ -1052,7 +1052,8 @@ void RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo(
|
| return;
|
|
|
| GestureEventWithLatencyInfo gesture_with_latency(gesture_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(gesture_event, &gesture_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(gesture_event,
|
| + &gesture_with_latency.latency);
|
| input_router_->SendGestureEvent(gesture_with_latency);
|
|
|
| if (scroll_update_needs_wrapping) {
|
| @@ -1066,7 +1067,7 @@ void RenderWidgetHostImpl::ForwardEmulatedTouchEvent(
|
| TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardEmulatedTouchEvent");
|
|
|
| TouchEventWithLatencyInfo touch_with_latency(touch_event);
|
| - latency_tracker_.OnInputEvent(touch_event, &touch_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(touch_event, &touch_with_latency.latency);
|
| input_router_->SendTouchEvent(touch_with_latency);
|
| }
|
|
|
| @@ -1088,7 +1089,7 @@ void RenderWidgetHostImpl::ForwardTouchEventWithLatencyInfo(
|
| return;
|
| }
|
|
|
| - latency_tracker_.OnInputEvent(touch_event, &touch_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(touch_event, &touch_with_latency.latency);
|
| input_router_->SendTouchEvent(touch_with_latency);
|
| }
|
|
|
| @@ -1157,7 +1158,7 @@ void RenderWidgetHostImpl::ForwardKeyboardEvent(
|
|
|
| NativeWebKeyboardEventWithLatencyInfo key_event_with_latency(key_event);
|
| key_event_with_latency.event.isBrowserShortcut = is_shortcut;
|
| - latency_tracker_.OnInputEvent(key_event, &key_event_with_latency.latency);
|
| + DispatchInputEventWithLatencyInfo(key_event, &key_event_with_latency.latency);
|
| input_router_->SendKeyboardEvent(key_event_with_latency);
|
| }
|
|
|
| @@ -1229,6 +1230,17 @@ void RenderWidgetHostImpl::RemoveMouseEventCallback(
|
| }
|
| }
|
|
|
| +void RenderWidgetHostImpl::AddInputEventObserver(
|
| + RenderWidgetHost::InputEventObserver* observer) {
|
| + if (!input_event_observers_.HasObserver(observer))
|
| + input_event_observers_.AddObserver(observer);
|
| +}
|
| +
|
| +void RenderWidgetHostImpl::RemoveInputEventObserver(
|
| + RenderWidgetHost::InputEventObserver* observer) {
|
| + input_event_observers_.RemoveObserver(observer);
|
| +}
|
| +
|
| void RenderWidgetHostImpl::GetWebScreenInfo(blink::WebScreenInfo* result) {
|
| TRACE_EVENT0("renderer_host", "RenderWidgetHostImpl::GetWebScreenInfo");
|
| if (view_)
|
| @@ -1888,6 +1900,14 @@ void RenderWidgetHostImpl::DidStopFlinging() {
|
| view_->DidStopFlinging();
|
| }
|
|
|
| +void RenderWidgetHostImpl::DispatchInputEventWithLatencyInfo(
|
| + const blink::WebInputEvent& event,
|
| + ui::LatencyInfo* latency) {
|
| + latency_tracker_.OnInputEvent(event, latency);
|
| + FOR_EACH_OBSERVER(InputEventObserver, input_event_observers_,
|
| + OnInputEvent(event));
|
| +}
|
| +
|
| void RenderWidgetHostImpl::OnKeyboardEventAck(
|
| const NativeWebKeyboardEventWithLatencyInfo& event,
|
| InputEventAckState ack_result) {
|
|
|