| 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 c7d44adae24d9862337c5d78da6578b7a523cb34..f48d66ef9a4796c06073b5632aa0eb6d3696e1bd 100644
|
| --- a/content/browser/renderer_host/render_widget_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_impl.cc
|
| @@ -227,7 +227,9 @@ RenderWidgetHostImpl::RenderWidgetHostImpl(RenderWidgetHostDelegate* delegate,
|
| if (!hidden)
|
| process_->WidgetRestored();
|
|
|
| - latency_tracker_.Initialize(routing_id_, GetProcess()->GetID());
|
| + latency_tracker_.reset(new RenderWidgetHostLatencyTracker());
|
| +
|
| + latency_tracker_->Initialize(routing_id_, GetProcess()->GetID());
|
|
|
| input_router_.reset(new InputRouterImpl(
|
| process_, this, this, routing_id_, GetInputRouterConfigForPlatform()));
|
| @@ -965,7 +967,7 @@ void RenderWidgetHostImpl::ForwardMouseEventWithLatencyInfo(
|
| return;
|
|
|
| MouseEventWithLatencyInfo mouse_with_latency(mouse_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(mouse_event, &mouse_with_latency.latency);
|
| + latency_tracker_->OnInputEvent(mouse_event, &mouse_with_latency.latency);
|
| input_router_->SendMouseEvent(mouse_with_latency);
|
| }
|
|
|
| @@ -987,7 +989,7 @@ void RenderWidgetHostImpl::ForwardWheelEventWithLatencyInfo(
|
| return;
|
|
|
| MouseWheelEventWithLatencyInfo wheel_with_latency(wheel_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(wheel_event, &wheel_with_latency.latency);
|
| + latency_tracker_->OnInputEvent(wheel_event, &wheel_with_latency.latency);
|
| input_router_->SendWheelEvent(wheel_with_latency);
|
| }
|
|
|
| @@ -1043,7 +1045,7 @@ void RenderWidgetHostImpl::ForwardGestureEventWithLatencyInfo(
|
| return;
|
|
|
| GestureEventWithLatencyInfo gesture_with_latency(gesture_event, ui_latency);
|
| - latency_tracker_.OnInputEvent(gesture_event, &gesture_with_latency.latency);
|
| + latency_tracker_->OnInputEvent(gesture_event, &gesture_with_latency.latency);
|
| input_router_->SendGestureEvent(gesture_with_latency);
|
|
|
| if (scroll_update_needs_wrapping) {
|
| @@ -1057,7 +1059,7 @@ void RenderWidgetHostImpl::ForwardEmulatedTouchEvent(
|
| TRACE_EVENT0("input", "RenderWidgetHostImpl::ForwardEmulatedTouchEvent");
|
|
|
| TouchEventWithLatencyInfo touch_with_latency(touch_event);
|
| - latency_tracker_.OnInputEvent(touch_event, &touch_with_latency.latency);
|
| + latency_tracker_->OnInputEvent(touch_event, &touch_with_latency.latency);
|
| input_router_->SendTouchEvent(touch_with_latency);
|
| }
|
|
|
| @@ -1079,7 +1081,7 @@ void RenderWidgetHostImpl::ForwardTouchEventWithLatencyInfo(
|
| return;
|
| }
|
|
|
| - latency_tracker_.OnInputEvent(touch_event, &touch_with_latency.latency);
|
| + latency_tracker_->OnInputEvent(touch_event, &touch_with_latency.latency);
|
| input_router_->SendTouchEvent(touch_with_latency);
|
| }
|
|
|
| @@ -1148,7 +1150,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);
|
| + latency_tracker_->OnInputEvent(key_event, &key_event_with_latency.latency);
|
| input_router_->SendKeyboardEvent(key_event_with_latency);
|
| }
|
|
|
| @@ -1181,7 +1183,7 @@ void RenderWidgetHostImpl::SendCursorVisibilityState(bool is_visible) {
|
| }
|
|
|
| int64_t RenderWidgetHostImpl::GetLatencyComponentId() const {
|
| - return latency_tracker_.latency_component_id();
|
| + return latency_tracker_->latency_component_id();
|
| }
|
|
|
| // static
|
| @@ -1228,7 +1230,7 @@ void RenderWidgetHostImpl::GetWebScreenInfo(blink::WebScreenInfo* result) {
|
| RenderWidgetHostViewBase::GetDefaultScreenInfo(result);
|
| // TODO(sievers): find a way to make this done another way so the method
|
| // can be const.
|
| - latency_tracker_.set_device_scale_factor(result->deviceScaleFactor);
|
| + latency_tracker_->set_device_scale_factor(result->deviceScaleFactor);
|
| if (IsUseZoomForDSFEnabled())
|
| input_router_->SetDeviceScaleFactor(result->deviceScaleFactor);
|
| }
|
| @@ -1561,7 +1563,7 @@ bool RenderWidgetHostImpl::OnSwapCompositorFrame(
|
| std::vector<ui::LatencyInfo>().swap(frame->metadata.latency_info);
|
| }
|
|
|
| - latency_tracker_.OnSwapCompositorFrame(&frame->metadata.latency_info);
|
| + latency_tracker_->OnSwapCompositorFrame(&frame->metadata.latency_info);
|
|
|
| bool is_mobile_optimized = IsMobileOptimizedFrame(frame->metadata);
|
| input_router_->NotifySiteIsMobileOptimized(is_mobile_optimized);
|
| @@ -1881,7 +1883,7 @@ void RenderWidgetHostImpl::DidStopFlinging() {
|
| void RenderWidgetHostImpl::OnKeyboardEventAck(
|
| const NativeWebKeyboardEventWithLatencyInfo& event,
|
| InputEventAckState ack_result) {
|
| - latency_tracker_.OnInputEventAck(event.event, &event.latency);
|
| + latency_tracker_->OnInputEventAck(event.event, &event.latency);
|
|
|
| // We only send unprocessed key event upwards if we are not hidden,
|
| // because the user has moved away from us and no longer expect any effect
|
| @@ -1899,13 +1901,13 @@ void RenderWidgetHostImpl::OnKeyboardEventAck(
|
| void RenderWidgetHostImpl::OnMouseEventAck(
|
| const MouseEventWithLatencyInfo& mouse_event,
|
| InputEventAckState ack_result) {
|
| - latency_tracker_.OnInputEventAck(mouse_event.event, &mouse_event.latency);
|
| + latency_tracker_->OnInputEventAck(mouse_event.event, &mouse_event.latency);
|
| }
|
|
|
| void RenderWidgetHostImpl::OnWheelEventAck(
|
| const MouseWheelEventWithLatencyInfo& wheel_event,
|
| InputEventAckState ack_result) {
|
| - latency_tracker_.OnInputEventAck(wheel_event.event, &wheel_event.latency);
|
| + latency_tracker_->OnInputEventAck(wheel_event.event, &wheel_event.latency);
|
|
|
| if (!is_hidden() && view_) {
|
| if (ack_result != INPUT_EVENT_ACK_STATE_CONSUMED &&
|
| @@ -1919,7 +1921,7 @@ void RenderWidgetHostImpl::OnWheelEventAck(
|
| void RenderWidgetHostImpl::OnGestureEventAck(
|
| const GestureEventWithLatencyInfo& event,
|
| InputEventAckState ack_result) {
|
| - latency_tracker_.OnInputEventAck(event.event, &event.latency);
|
| + latency_tracker_->OnInputEventAck(event.event, &event.latency);
|
|
|
| if (view_)
|
| view_->GestureEventAck(event.event, ack_result);
|
| @@ -1928,7 +1930,7 @@ void RenderWidgetHostImpl::OnGestureEventAck(
|
| void RenderWidgetHostImpl::OnTouchEventAck(
|
| const TouchEventWithLatencyInfo& event,
|
| InputEventAckState ack_result) {
|
| - latency_tracker_.OnInputEventAck(event.event, &event.latency);
|
| + latency_tracker_->OnInputEventAck(event.event, &event.latency);
|
|
|
| if (touch_emulator_ &&
|
| touch_emulator_->HandleTouchEventAck(event.event, ack_result)) {
|
| @@ -2067,7 +2069,7 @@ void RenderWidgetHostImpl::FrameSwapped(const ui::LatencyInfo& latency_info) {
|
| #endif
|
| }
|
|
|
| - latency_tracker_.OnFrameSwapped(latency_info);
|
| + latency_tracker_->OnFrameSwapped(latency_info);
|
| }
|
|
|
| void RenderWidgetHostImpl::DidReceiveRendererFrame() {
|
|
|