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

Side by Side Diff: chrome/browser/page_load_metrics/page_load_metrics_initialize.cc

Issue 2901383002: Buffer cross frame paint timing updates. (Closed)
Patch Set: address comment Created 3 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 #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" 5 #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
6 6
7 #include "base/macros.h" 7 #include "base/macros.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/timer/timer.h"
9 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" 10 #include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h"
10 #if defined(OS_ANDROID) 11 #if defined(OS_ANDROID)
11 #include "chrome/browser/page_load_metrics/observers/android_page_load_metrics_o bserver.h" 12 #include "chrome/browser/page_load_metrics/observers/android_page_load_metrics_o bserver.h"
12 #endif // OS_ANDROID 13 #endif // OS_ANDROID
13 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob server.h" 14 #include "chrome/browser/page_load_metrics/observers/aborts_page_load_metrics_ob server.h"
14 #include "chrome/browser/page_load_metrics/observers/ads_page_load_metrics_obser ver.h" 15 #include "chrome/browser/page_load_metrics/observers/ads_page_load_metrics_obser ver.h"
15 #include "chrome/browser/page_load_metrics/observers/amp_page_load_metrics_obser ver.h" 16 #include "chrome/browser/page_load_metrics/observers/amp_page_load_metrics_obser ver.h"
16 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h" 17 #include "chrome/browser/page_load_metrics/observers/core_page_load_metrics_obse rver.h"
17 #include "chrome/browser/page_load_metrics/observers/css_scanning_page_load_metr ics_observer.h" 18 #include "chrome/browser/page_load_metrics/observers/css_scanning_page_load_metr ics_observer.h"
18 #include "chrome/browser/page_load_metrics/observers/data_reduction_proxy_metric s_observer.h" 19 #include "chrome/browser/page_load_metrics/observers/data_reduction_proxy_metric s_observer.h"
(...skipping 29 matching lines...) Expand all
48 49
49 class PageLoadMetricsEmbedder 50 class PageLoadMetricsEmbedder
50 : public page_load_metrics::PageLoadMetricsEmbedderInterface { 51 : public page_load_metrics::PageLoadMetricsEmbedderInterface {
51 public: 52 public:
52 explicit PageLoadMetricsEmbedder(content::WebContents* web_contents); 53 explicit PageLoadMetricsEmbedder(content::WebContents* web_contents);
53 ~PageLoadMetricsEmbedder() override; 54 ~PageLoadMetricsEmbedder() override;
54 55
55 // page_load_metrics::PageLoadMetricsEmbedderInterface: 56 // page_load_metrics::PageLoadMetricsEmbedderInterface:
56 bool IsNewTabPageUrl(const GURL& url) override; 57 bool IsNewTabPageUrl(const GURL& url) override;
57 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override; 58 void RegisterObservers(page_load_metrics::PageLoadTracker* tracker) override;
59 std::unique_ptr<base::Timer> CreateTimer() override;
58 60
59 private: 61 private:
60 bool IsPrerendering() const; 62 bool IsPrerendering() const;
61 63
62 content::WebContents* const web_contents_; 64 content::WebContents* const web_contents_;
63 65
64 DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsEmbedder); 66 DISALLOW_COPY_AND_ASSIGN(PageLoadMetricsEmbedder);
65 }; 67 };
66 68
67 PageLoadMetricsEmbedder::PageLoadMetricsEmbedder( 69 PageLoadMetricsEmbedder::PageLoadMetricsEmbedder(
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
135 base::MakeUnique<OmniboxSuggestionUsedMetricsObserver>(IsPrerendering())); 137 base::MakeUnique<OmniboxSuggestionUsedMetricsObserver>(IsPrerendering()));
136 tracker->AddObserver( 138 tracker->AddObserver(
137 base::MakeUnique<DelayNavigationPageLoadMetricsObserver>()); 139 base::MakeUnique<DelayNavigationPageLoadMetricsObserver>());
138 } 140 }
139 141
140 bool PageLoadMetricsEmbedder::IsPrerendering() const { 142 bool PageLoadMetricsEmbedder::IsPrerendering() const {
141 return prerender::PrerenderContents::FromWebContents(web_contents_) != 143 return prerender::PrerenderContents::FromWebContents(web_contents_) !=
142 nullptr; 144 nullptr;
143 } 145 }
144 146
147 std::unique_ptr<base::Timer> PageLoadMetricsEmbedder::CreateTimer() {
148 return base::MakeUnique<base::OneShotTimer>();
149 }
150
145 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) { 151 bool PageLoadMetricsEmbedder::IsNewTabPageUrl(const GURL& url) {
146 Profile* profile = 152 Profile* profile =
147 Profile::FromBrowserContext(web_contents_->GetBrowserContext()); 153 Profile::FromBrowserContext(web_contents_->GetBrowserContext());
148 if (!profile) 154 if (!profile)
149 return false; 155 return false;
150 return search::IsInstantNTPURL(url, profile); 156 return search::IsInstantNTPURL(url, profile);
151 } 157 }
152 158
153 } // namespace 159 } // namespace
154 160
155 void InitializePageLoadMetricsForWebContents( 161 void InitializePageLoadMetricsForWebContents(
156 content::WebContents* web_contents, 162 content::WebContents* web_contents,
157 const base::Optional<content::WebContents::CreateParams>& create_params) { 163 const base::Optional<content::WebContents::CreateParams>& create_params) {
158 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents( 164 page_load_metrics::MetricsWebContentsObserver::CreateForWebContents(
159 web_contents, create_params, 165 web_contents, create_params,
160 base::MakeUnique<PageLoadMetricsEmbedder>(web_contents)); 166 base::MakeUnique<PageLoadMetricsEmbedder>(web_contents));
161 } 167 }
162 168
163 } // namespace chrome 169 } // namespace chrome
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698