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

Side by Side Diff: chrome/browser/page_load_metrics/observers/omnibox_suggestion_used_page_load_metrics_observer.cc

Issue 2859393002: Report page load timing information for child frames. (Closed)
Patch Set: rebase Created 3 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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/observers/omnibox_suggestion_used_pag e_load_metrics_observer.h" 5 #include "chrome/browser/page_load_metrics/observers/omnibox_suggestion_used_pag e_load_metrics_observer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h" 9 #include "chrome/browser/page_load_metrics/page_load_metrics_util.h"
10 10
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 53
54 page_load_metrics::PageLoadMetricsObserver::ObservePolicy 54 page_load_metrics::PageLoadMetricsObserver::ObservePolicy
55 OmniboxSuggestionUsedMetricsObserver::OnCommit( 55 OmniboxSuggestionUsedMetricsObserver::OnCommit(
56 content::NavigationHandle* navigation_handle) { 56 content::NavigationHandle* navigation_handle) {
57 transition_type_ = navigation_handle->GetPageTransition(); 57 transition_type_ = navigation_handle->GetPageTransition();
58 return (transition_type_ & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) != 0 58 return (transition_type_ & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) != 0
59 ? CONTINUE_OBSERVING 59 ? CONTINUE_OBSERVING
60 : STOP_OBSERVING; 60 : STOP_OBSERVING;
61 } 61 }
62 62
63 void OmniboxSuggestionUsedMetricsObserver::OnFirstContentfulPaint( 63 void OmniboxSuggestionUsedMetricsObserver::OnFirstContentfulPaintInPage(
64 const page_load_metrics::PageLoadTiming& timing, 64 const page_load_metrics::PageLoadTiming& timing,
65 const page_load_metrics::PageLoadExtraInfo& info) { 65 const page_load_metrics::PageLoadExtraInfo& info) {
66 base::TimeDelta fcp = timing.paint_timing.first_contentful_paint.value(); 66 base::TimeDelta fcp = timing.paint_timing.first_contentful_paint.value();
67 67
68 if (info.started_in_foreground) { 68 if (info.started_in_foreground) {
69 if (ui::PageTransitionCoreTypeIs(transition_type_, 69 if (ui::PageTransitionCoreTypeIs(transition_type_,
70 ui::PAGE_TRANSITION_GENERATED)) { 70 ui::PAGE_TRANSITION_GENERATED)) {
71 PAGE_LOAD_HISTOGRAM(kSearchFirstContentfulPaint, fcp); 71 PAGE_LOAD_HISTOGRAM(kSearchFirstContentfulPaint, fcp);
72 } else if (ui::PageTransitionCoreTypeIs(transition_type_, 72 } else if (ui::PageTransitionCoreTypeIs(transition_type_,
73 ui::PAGE_TRANSITION_TYPED)) { 73 ui::PAGE_TRANSITION_TYPED)) {
(...skipping 14 matching lines...) Expand all
88 info.first_foreground_time.value()); 88 info.first_foreground_time.value());
89 } else if (ui::PageTransitionCoreTypeIs(transition_type_, 89 } else if (ui::PageTransitionCoreTypeIs(transition_type_,
90 ui::PAGE_TRANSITION_TYPED)) { 90 ui::PAGE_TRANSITION_TYPED)) {
91 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstContentfulPaint, perceived_fcp); 91 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstContentfulPaint, perceived_fcp);
92 PAGE_LOAD_HISTOGRAM(kPrerenderURLNavigationToFirstForeground, 92 PAGE_LOAD_HISTOGRAM(kPrerenderURLNavigationToFirstForeground,
93 info.first_foreground_time.value()); 93 info.first_foreground_time.value());
94 } 94 }
95 } 95 }
96 } 96 }
97 97
98 void OmniboxSuggestionUsedMetricsObserver::OnFirstMeaningfulPaint( 98 void OmniboxSuggestionUsedMetricsObserver::
99 const page_load_metrics::PageLoadTiming& timing, 99 OnFirstMeaningfulPaintInMainFrameDocument(
100 const page_load_metrics::PageLoadExtraInfo& info) { 100 const page_load_metrics::PageLoadTiming& timing,
101 const page_load_metrics::PageLoadExtraInfo& info) {
101 base::TimeDelta fmp = timing.paint_timing.first_meaningful_paint.value(); 102 base::TimeDelta fmp = timing.paint_timing.first_meaningful_paint.value();
102 103
103 if (info.started_in_foreground) { 104 if (info.started_in_foreground) {
104 if (ui::PageTransitionCoreTypeIs(transition_type_, 105 if (ui::PageTransitionCoreTypeIs(transition_type_,
105 ui::PAGE_TRANSITION_GENERATED)) { 106 ui::PAGE_TRANSITION_GENERATED)) {
106 PAGE_LOAD_HISTOGRAM(kSearchFirstMeaningfulPaint, fmp); 107 PAGE_LOAD_HISTOGRAM(kSearchFirstMeaningfulPaint, fmp);
107 } else if (ui::PageTransitionCoreTypeIs(transition_type_, 108 } else if (ui::PageTransitionCoreTypeIs(transition_type_,
108 ui::PAGE_TRANSITION_TYPED)) { 109 ui::PAGE_TRANSITION_TYPED)) {
109 PAGE_LOAD_HISTOGRAM(kURLFirstMeaningfulPaint, fmp); 110 PAGE_LOAD_HISTOGRAM(kURLFirstMeaningfulPaint, fmp);
110 } 111 }
111 } else if (is_prerender_ && info.first_foreground_time) { 112 } else if (is_prerender_ && info.first_foreground_time) {
112 base::TimeDelta perceived_fmp = 113 base::TimeDelta perceived_fmp =
113 std::max(base::TimeDelta(), fmp - info.first_foreground_time.value()); 114 std::max(base::TimeDelta(), fmp - info.first_foreground_time.value());
114 if (ui::PageTransitionCoreTypeIs(transition_type_, 115 if (ui::PageTransitionCoreTypeIs(transition_type_,
115 ui::PAGE_TRANSITION_GENERATED)) { 116 ui::PAGE_TRANSITION_GENERATED)) {
116 PAGE_LOAD_HISTOGRAM(kPrerenderSearchFirstMeaningfulPaint, perceived_fmp); 117 PAGE_LOAD_HISTOGRAM(kPrerenderSearchFirstMeaningfulPaint, perceived_fmp);
117 } else if (ui::PageTransitionCoreTypeIs(transition_type_, 118 } else if (ui::PageTransitionCoreTypeIs(transition_type_,
118 ui::PAGE_TRANSITION_TYPED)) { 119 ui::PAGE_TRANSITION_TYPED)) {
119 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstMeaningfulPaint, perceived_fmp); 120 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstMeaningfulPaint, perceived_fmp);
120 } 121 }
121 } 122 }
122 } 123 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698