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

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

Issue 2350473002: [page_load_metrics] Add support for chrome:// urls and add extensions observer (Closed)
Patch Set: fix about:blank check Created 4 years, 3 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 CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_ 5 #ifndef CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_
6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_ 6 #define CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/optional.h" 9 #include "base/optional.h"
10 #include "chrome/common/page_load_metrics/page_load_timing.h" 10 #include "chrome/common/page_load_metrics/page_load_timing.h"
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
117 // ResourceRequestInfo objects while this is the currently committed load in 117 // ResourceRequestInfo objects while this is the currently committed load in
118 // the WebContents. 118 // the WebContents.
119 int num_cache_requests; 119 int num_cache_requests;
120 int num_network_requests; 120 int num_network_requests;
121 121
122 // Extra information supplied to the page load metrics system from the 122 // Extra information supplied to the page load metrics system from the
123 // renderer. 123 // renderer.
124 const PageLoadMetadata metadata; 124 const PageLoadMetadata metadata;
125 }; 125 };
126 126
127 enum TrackingPolicy {
128 TRACK,
129 IGNORE,
130 };
131
127 // Interface for PageLoadMetrics observers. All instances of this class are 132 // Interface for PageLoadMetrics observers. All instances of this class are
128 // owned by the PageLoadTracker tracking a page load. 133 // owned by the PageLoadTracker tracking a page load.
129 class PageLoadMetricsObserver { 134 class PageLoadMetricsObserver {
130 public: 135 public:
131 virtual ~PageLoadMetricsObserver() {} 136 virtual ~PageLoadMetricsObserver() {}
132 137
138 // Called before OnStart and OnCommit. If the method returns false, no further
139 // callbacks will occur in the observer.
140 virtual TrackingPolicy ShouldTrackLoad(
Bryan McQuade 2016/09/20 18:40:38 i think a boolean is ok here - the method name is
Charlie Harrison 2016/09/20 22:46:23 rdevlin recommended this on the doc. Fine to nix i
141 content::NavigationHandle* navigation_handle);
142
133 // The page load started, with the given navigation handle. Note that OnStart 143 // The page load started, with the given navigation handle. Note that OnStart
134 // is called for same-page navigations. Implementers of OnStart that only want 144 // is called for same-page navigations. Implementers of OnStart that only want
135 // to process non-same-page navigations should also check to see that the page 145 // to process non-same-page navigations should also check to see that the page
136 // load committed via OnCommit or committed_url in 146 // load committed via OnCommit or committed_url in
137 // PageLoadExtraInfo. currently_committed_url contains the URL of the 147 // PageLoadExtraInfo. currently_committed_url contains the URL of the
138 // committed page load at the time the navigation for navigation_handle was 148 // committed page load at the time the navigation for navigation_handle was
139 // initiated, or the empty URL if there was no committed page load at the time 149 // initiated, or the empty URL if there was no committed page load at the time
140 // the navigation was initiated. 150 // the navigation was initiated.
141 virtual void OnStart(content::NavigationHandle* navigation_handle, 151 virtual void OnStart(content::NavigationHandle* navigation_handle,
142 const GURL& currently_committed_url, 152 const GURL& currently_committed_url,
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 // loads that result in downloads or 204s are aborted by the system, and are 239 // loads that result in downloads or 204s are aborted by the system, and are
230 // also included as failed provisional loads. 240 // also included as failed provisional loads.
231 virtual void OnFailedProvisionalLoad( 241 virtual void OnFailedProvisionalLoad(
232 const FailedProvisionalLoadInfo& failed_provisional_load_info, 242 const FailedProvisionalLoadInfo& failed_provisional_load_info,
233 const PageLoadExtraInfo& extra_info) {} 243 const PageLoadExtraInfo& extra_info) {}
234 }; 244 };
235 245
236 } // namespace page_load_metrics 246 } // namespace page_load_metrics
237 247
238 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_ 248 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698