| Index: chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h
|
| diff --git a/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h b/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h
|
| index bcebe45350d7db4e8fccecd50f75c8c8ce2d463e..7e74ccff073730050965ccb2142aa3b543375d5d 100644
|
| --- a/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h
|
| +++ b/chrome/browser/page_load_metrics/observers/no_state_prefetch_page_load_metrics_observer.h
|
| @@ -17,12 +17,26 @@ namespace prerender {
|
| class PrerenderManager;
|
| }
|
|
|
| -// Observer recording metrics related to NoStatePrefetch.
|
| +// Records First Contentful Paint metrics related to NoStatePrefetch.
|
| +//
|
| +// This observer should be attached to all WebContents instances that are not
|
| +// being prerendered. This is because the metrics it records include the boolean
|
| +// bit to tell whether the page was recently eligible for prefetching with
|
| +// NoStatePrefetch prior to the FCP. A prefetched (with NoStatePrefetch) page
|
| +// would load just like a normal new WebContents without knowledge of previous
|
| +// prefetches. The fact that it was prefetched can only be discovered by asking
|
| +// the PrerenderManager at the FCP time.
|
| +//
|
| +// Attaching to all non-prerendered WebContents allows to collect these metrics
|
| +// in other experimental groups (for Prerender and for the simple load) to
|
| +// record how these groups perform on web pages that would otherwise have been
|
| +// prefetched with NostatePrefetch.
|
| class NoStatePrefetchPageLoadMetricsObserver
|
| : public page_load_metrics::PageLoadMetricsObserver {
|
| public:
|
| // Returns a NoStatePrefetchPageLoadMetricsObserver, or nullptr if it is not
|
| - // needed.
|
| + // needed. Note: can return nullptr at startup, which is believed to be
|
| + // happening rarely.
|
| static std::unique_ptr<NoStatePrefetchPageLoadMetricsObserver> CreateIfNeeded(
|
| content::WebContents* web_contents);
|
|
|
|
|