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

Side by Side Diff: components/page_load_metrics/browser/page_load_metrics_observer.h

Issue 1984173002: Log First User Interaction in Page Load Metrics (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update fragments Created 4 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_ 5 #ifndef COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
6 #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_ 6 #define COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "components/page_load_metrics/common/page_load_timing.h" 9 #include "components/page_load_metrics/common/page_load_timing.h"
10 #include "content/public/browser/navigation_handle.h" 10 #include "content/public/browser/navigation_handle.h"
11 #include "third_party/WebKit/public/web/WebInputEvent.h"
11 #include "url/gurl.h" 12 #include "url/gurl.h"
12 13
13 namespace page_load_metrics { 14 namespace page_load_metrics {
14 15
15 // This enum represents how a page load ends. If the action occurs before the 16 // This enum represents how a page load ends. If the action occurs before the
16 // page load finishes (or reaches some point like first paint), then we consider 17 // page load finishes (or reaches some point like first paint), then we consider
17 // the load to be aborted. 18 // the load to be aborted.
18 enum UserAbortType { 19 enum UserAbortType {
19 // Represents no abort. 20 // Represents no abort.
20 ABORT_NONE, 21 ABORT_NONE,
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 147
147 // OnComplete is triggered when we are ready to record metrics for this page 148 // OnComplete is triggered when we are ready to record metrics for this page
148 // load. This will happen some time after commit. The PageLoadTiming struct 149 // load. This will happen some time after commit. The PageLoadTiming struct
149 // contains timing data and the PageLoadExtraInfo struct contains other useful 150 // contains timing data and the PageLoadExtraInfo struct contains other useful
150 // data collected over the course of the page load. If the load did not 151 // data collected over the course of the page load. If the load did not
151 // receive any timing information, |timing.IsEmpty()| will be true. 152 // receive any timing information, |timing.IsEmpty()| will be true.
152 // After this call, the object will be deleted. 153 // After this call, the object will be deleted.
153 virtual void OnComplete(const PageLoadTiming& timing, 154 virtual void OnComplete(const PageLoadTiming& timing,
154 const PageLoadExtraInfo& extra_info) {} 155 const PageLoadExtraInfo& extra_info) {}
155 156
157 // OnUserInput is triggered when a new user input is passed in to
158 // web_contents. Contains a TimeDelta from navigation start.
159 virtual void OnUserInput(const blink::WebInputEvent& event) {}
160
156 // The following methods are invoked at most once, when the timing for the 161 // The following methods are invoked at most once, when the timing for the
157 // associated event first becomes available. 162 // associated event first becomes available.
158 virtual void OnDomContentLoadedEventStart( 163 virtual void OnDomContentLoadedEventStart(
159 const PageLoadTiming& timing, 164 const PageLoadTiming& timing,
160 const PageLoadExtraInfo& extra_info) {} 165 const PageLoadExtraInfo& extra_info) {}
161 virtual void OnLoadEventStart(const PageLoadTiming& timing, 166 virtual void OnLoadEventStart(const PageLoadTiming& timing,
162 const PageLoadExtraInfo& extra_info) {} 167 const PageLoadExtraInfo& extra_info) {}
163 virtual void OnFirstLayout(const PageLoadTiming& timing, 168 virtual void OnFirstLayout(const PageLoadTiming& timing,
164 const PageLoadExtraInfo& extra_info) {} 169 const PageLoadExtraInfo& extra_info) {}
165 virtual void OnFirstPaint(const PageLoadTiming& timing, 170 virtual void OnFirstPaint(const PageLoadTiming& timing,
166 const PageLoadExtraInfo& extra_info) {} 171 const PageLoadExtraInfo& extra_info) {}
167 virtual void OnFirstTextPaint(const PageLoadTiming& timing, 172 virtual void OnFirstTextPaint(const PageLoadTiming& timing,
168 const PageLoadExtraInfo& extra_info) {} 173 const PageLoadExtraInfo& extra_info) {}
169 virtual void OnFirstImagePaint(const PageLoadTiming& timing, 174 virtual void OnFirstImagePaint(const PageLoadTiming& timing,
170 const PageLoadExtraInfo& extra_info) {} 175 const PageLoadExtraInfo& extra_info) {}
171 virtual void OnFirstContentfulPaint(const PageLoadTiming& timing, 176 virtual void OnFirstContentfulPaint(const PageLoadTiming& timing,
172 const PageLoadExtraInfo& extra_info) {} 177 const PageLoadExtraInfo& extra_info) {}
173 virtual void OnParseStart(const PageLoadTiming& timing, 178 virtual void OnParseStart(const PageLoadTiming& timing,
174 const PageLoadExtraInfo& extra_info) {} 179 const PageLoadExtraInfo& extra_info) {}
175 virtual void OnParseStop(const PageLoadTiming& timing, 180 virtual void OnParseStop(const PageLoadTiming& timing,
176 const PageLoadExtraInfo& extra_info) {} 181 const PageLoadExtraInfo& extra_info) {}
177 }; 182 };
178 183
179 } // namespace page_load_metrics 184 } // namespace page_load_metrics
180 185
181 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_ 186 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698