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

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

Issue 2699213002: Adding MHTML support into Page Load Metrics (Closed)
Patch Set: Only observe MHTML for previews observer Created 3 years, 10 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 <string>
9
8 #include "base/macros.h" 10 #include "base/macros.h"
9 #include "base/optional.h" 11 #include "base/optional.h"
10 #include "chrome/common/page_load_metrics/page_load_timing.h" 12 #include "chrome/common/page_load_metrics/page_load_timing.h"
11 #include "content/public/browser/navigation_handle.h" 13 #include "content/public/browser/navigation_handle.h"
12 #include "third_party/WebKit/public/platform/WebInputEvent.h" 14 #include "third_party/WebKit/public/platform/WebInputEvent.h"
13 #include "url/gurl.h" 15 #include "url/gurl.h"
14 16
15 namespace page_load_metrics { 17 namespace page_load_metrics {
16 18
17 // This enum represents how a page load ends. If the action occurs before the 19 // This enum represents how a page load ends. If the action occurs before the
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 // OnHidden is triggered when a page leaves the foreground. It does not fire 236 // OnHidden is triggered when a page leaves the foreground. It does not fire
235 // when a foreground page is permanently closed; for that, listen to 237 // when a foreground page is permanently closed; for that, listen to
236 // OnComplete instead. 238 // OnComplete instead.
237 virtual ObservePolicy OnHidden(const PageLoadTiming& timing, 239 virtual ObservePolicy OnHidden(const PageLoadTiming& timing,
238 const PageLoadExtraInfo& extra_info); 240 const PageLoadExtraInfo& extra_info);
239 241
240 // OnShown is triggered when a page is brought to the foreground. It does not 242 // OnShown is triggered when a page is brought to the foreground. It does not
241 // fire when the page first loads; for that, listen for OnStart instead. 243 // fire when the page first loads; for that, listen for OnStart instead.
242 virtual ObservePolicy OnShown(); 244 virtual ObservePolicy OnShown();
243 245
246 // Called before OnCommit. The observer should return whether it wishes to
247 // observe navigations whose main resource has MIME type |mine_type|. The
248 // default is to observe HTML and XHTML only. Note that PageLoadTrackers only
249 // track XHTML, HTML, and MHTML (related/multipart).
250 virtual ObservePolicy ShouldObserveMimeType(
251 const std::string& mime_type) const;
252
244 // The callbacks below are only invoked after a navigation commits, for 253 // The callbacks below are only invoked after a navigation commits, for
245 // tracked page loads. Page loads that don't meet the criteria for being 254 // tracked page loads. Page loads that don't meet the criteria for being
246 // tracked at the time a navigation commits will not receive any of the 255 // tracked at the time a navigation commits will not receive any of the
247 // callbacks below. 256 // callbacks below.
248 257
249 // OnTimingUpdate is triggered when an updated PageLoadTiming is 258 // OnTimingUpdate is triggered when an updated PageLoadTiming is
250 // available. This method may be called multiple times over the course of the 259 // available. This method may be called multiple times over the course of the
251 // page load. This method is currently only intended for use in testing. Most 260 // page load. This method is currently only intended for use in testing. Most
252 // implementers should implement one of the On* callbacks, such as 261 // implementers should implement one of the On* callbacks, such as
253 // OnFirstContentfulPaint or OnDomContentLoadedEventStart. Please email 262 // OnFirstContentfulPaint or OnDomContentLoadedEventStart. Please email
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 const FailedProvisionalLoadInfo& failed_provisional_load_info, 335 const FailedProvisionalLoadInfo& failed_provisional_load_info,
327 const PageLoadExtraInfo& extra_info) {} 336 const PageLoadExtraInfo& extra_info) {}
328 337
329 // Called whenever a request is loaded for this page load. 338 // Called whenever a request is loaded for this page load.
330 virtual void OnLoadedResource(const ExtraRequestInfo& extra_request_info) {} 339 virtual void OnLoadedResource(const ExtraRequestInfo& extra_request_info) {}
331 }; 340 };
332 341
333 } // namespace page_load_metrics 342 } // namespace page_load_metrics
334 343
335 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_ 344 #endif // CHROME_BROWSER_PAGE_LOAD_METRICS_PAGE_LOAD_METRICS_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698