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

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

Issue 1984173002: Log First User Interaction in Page Load Metrics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Only record user interaction after first paint 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.h
diff --git a/content/browser/renderer_host/render_widget_host_impl.h b/content/browser/renderer_host/render_widget_host_impl.h
index 674e463ce8a3e35e721d5f0bf2ea16067304c01b..de4eec34a06392914d04d31783daa6670fbbe47b 100644
--- a/content/browser/renderer_host/render_widget_host_impl.h
+++ b/content/browser/renderer_host/render_widget_host_impl.h
@@ -169,6 +169,10 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
const KeyPressEventCallback& callback) override;
void AddMouseEventCallback(const MouseEventCallback& callback) override;
void RemoveMouseEventCallback(const MouseEventCallback& callback) override;
+ void AddInputEventObserver(
+ RenderWidgetHost::InputEventObserver* observer) override;
+ void RemoveInputEventObserver(
+ RenderWidgetHost::InputEventObserver* observer) override;
void GetWebScreenInfo(blink::WebScreenInfo* result) override;
bool GetScreenColorProfile(std::vector<char>* color_profile) override;
void HandleCompositorProto(const std::vector<uint8_t>& proto) override;
@@ -296,19 +300,17 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
void ForwardGestureEventWithLatencyInfo(
const blink::WebGestureEvent& gesture_event,
const ui::LatencyInfo& ui_latency) override;
- void ForwardTouchEventWithLatencyInfo(
- const blink::WebTouchEvent& touch_event,
- const ui::LatencyInfo& ui_latency);
- void ForwardMouseEventWithLatencyInfo(
- const blink::WebMouseEvent& mouse_event,
- const ui::LatencyInfo& ui_latency);
+ void ForwardTouchEventWithLatencyInfo(const blink::WebTouchEvent& touch_event,
+ const ui::LatencyInfo& ui_latency);
+ void ForwardMouseEventWithLatencyInfo(const blink::WebMouseEvent& mouse_event,
+ const ui::LatencyInfo& ui_latency);
virtual void ForwardWheelEventWithLatencyInfo(
const blink::WebMouseWheelEvent& wheel_event,
- const ui::LatencyInfo& ui_latency); // Virtual for testing.
+ const ui::LatencyInfo& ui_latency); // Virtual for testing.
// Enables/disables touch emulation using mouse event. See TouchEmulator.
- void SetTouchEventEmulationEnabled(
- bool enabled, ui::GestureProviderConfigType config_type);
+ void SetTouchEventEmulationEnabled(bool enabled,
+ ui::GestureProviderConfigType config_type);
// TouchEmulatorClient implementation.
void ForwardEmulatedGestureEvent(
@@ -361,9 +363,7 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
// Cancels an ongoing composition.
void ImeCancelComposition();
- bool ignore_input_events() const {
- return ignore_input_events_;
- }
+ bool ignore_input_events() const { return ignore_input_events_; }
// Whether forwarded WebInputEvents should be dropped.
bool ShouldDropInputEvents() const;
@@ -375,12 +375,10 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
// Notifies the renderer that the next key event is bound to one or more
// pre-defined edit commands
- void SetEditCommandsForNextKeyEvent(
- const std::vector<EditCommand>& commands);
+ void SetEditCommandsForNextKeyEvent(const std::vector<EditCommand>& commands);
// Executes the edit command.
- void ExecuteEditCommand(const std::string& command,
- const std::string& value);
+ void ExecuteEditCommand(const std::string& command, const std::string& value);
// Tells the renderer to scroll the currently focused node into rect only if
// the currently focused node is a Text node (textfield, text area or content
@@ -400,11 +398,10 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
base::TimeDelta interval);
// Called by the view in response to OnSwapCompositorFrame.
- static void SendSwapCompositorFrameAck(
- int32_t route_id,
- uint32_t output_surface_id,
- int renderer_host_id,
- const cc::CompositorFrameAck& ack);
+ static void SendSwapCompositorFrameAck(int32_t route_id,
+ uint32_t output_surface_id,
+ int renderer_host_id,
+ const cc::CompositorFrameAck& ack);
// Called by the view to return resources to the compositor.
static void SendReclaimCompositorResources(int32_t route_id,
@@ -702,6 +699,10 @@ class CONTENT_EXPORT RenderWidgetHostImpl : public RenderWidgetHost,
// Mouse event callbacks.
std::vector<MouseEventCallback> mouse_event_callbacks_;
+ // Input event callbacks.
+ base::ObserverList<RenderWidgetHost::InputEventObserver>
+ input_event_observers_;
+
// If true, then we should repaint when restoring even if we have a
// backingstore. This flag is set to true if we receive a paint message
// while is_hidden_ to true. Even though we tell the render widget to hide

Powered by Google App Engine
This is Rietveld 408576698