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

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

Issue 1984173002: Log First User Interaction in Page Load Metrics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Plumbing RWH latency tracker instead of DidGetUserInteraction API Created 4 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/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() {

Powered by Google App Engine
This is Rietveld 408576698