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

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

Issue 1971913002: Prototype for improved and generalized immediate event logging. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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 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"
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
137 // OnComplete is triggered when we are ready to record metrics for this page 137 // OnComplete is triggered when we are ready to record metrics for this page
138 // load. This will happen some time after commit. The PageLoadTiming struct 138 // load. This will happen some time after commit. The PageLoadTiming struct
139 // contains timing data and the PageLoadExtraInfo struct contains other useful 139 // contains timing data and the PageLoadExtraInfo struct contains other useful
140 // data collected over the course of the page load. If the load did not 140 // data collected over the course of the page load. If the load did not
141 // receive any timing information, |timing.IsEmpty()| will be true. 141 // receive any timing information, |timing.IsEmpty()| will be true.
142 // After this call, the object will be deleted. 142 // After this call, the object will be deleted.
143 virtual void OnComplete(const PageLoadTiming& timing, 143 virtual void OnComplete(const PageLoadTiming& timing,
144 const PageLoadExtraInfo& extra_info) {} 144 const PageLoadExtraInfo& extra_info) {}
145 }; 145 };
146 146
147 class PageLoadMetricsEventObserver {
148 public:
149 void HandleTimingUpdate(const PageLoadTiming& timing,
150 const PageLoadExtraInfo& extra_info);
151
152 protected:
153 virtual void OnDomContentLoadedEventStart(
154 const PageLoadTiming& timing,
155 const PageLoadExtraInfo& extra_info) {}
156 virtual void OnLoadEventStart(const PageLoadTiming& timing,
157 const PageLoadExtraInfo& extra_info) {}
158 virtual void OnFirstLayout(const PageLoadTiming& timing,
159 const PageLoadExtraInfo& extra_info) {}
160 virtual void OnFirstPaint(const PageLoadTiming& timing,
161 const PageLoadExtraInfo& extra_info) {}
162 virtual void OnFirstTextPaint(const PageLoadTiming& timing,
163 const PageLoadExtraInfo& extra_info) {}
164 virtual void OnFirstImagePaint(const PageLoadTiming& timing,
165 const PageLoadExtraInfo& extra_info) {}
166 virtual void OnFirstContentfulPaint(const PageLoadTiming& timing,
167 const PageLoadExtraInfo& extra_info) {}
168 virtual void OnParseStart(const PageLoadTiming& timing,
169 const PageLoadExtraInfo& extra_info) {}
170 virtual void OnParseStop(const PageLoadTiming& timing,
171 const PageLoadExtraInfo& extra_info) {}
172
173 private:
174 // The last timing provided to OnTimingUpdate.
175 PageLoadTiming last_timing_;
176 };
177
147 } // namespace page_load_metrics 178 } // namespace page_load_metrics
148 179
149 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_ 180 #endif // COMPONENTS_PAGE_LOAD_METRICS_BROWSER_PAGE_LOAD_METRICS_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698