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() { |