| OLD | NEW |
| 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 28 matching lines...) Expand all Loading... |
| 39 } // namespace | 39 } // namespace |
| 40 | 40 |
| 41 OmniboxSuggestionUsedMetricsObserver::OmniboxSuggestionUsedMetricsObserver( | 41 OmniboxSuggestionUsedMetricsObserver::OmniboxSuggestionUsedMetricsObserver( |
| 42 bool is_prerender) | 42 bool is_prerender) |
| 43 : is_prerender_(is_prerender) {} | 43 : is_prerender_(is_prerender) {} |
| 44 | 44 |
| 45 OmniboxSuggestionUsedMetricsObserver::~OmniboxSuggestionUsedMetricsObserver() {} | 45 OmniboxSuggestionUsedMetricsObserver::~OmniboxSuggestionUsedMetricsObserver() {} |
| 46 | 46 |
| 47 page_load_metrics::PageLoadMetricsObserver::ObservePolicy | 47 page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
| 48 OmniboxSuggestionUsedMetricsObserver::OnHidden( | 48 OmniboxSuggestionUsedMetricsObserver::OnHidden( |
| 49 const page_load_metrics::PageLoadTiming& timing, | 49 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 50 const page_load_metrics::PageLoadExtraInfo& info) { | 50 const page_load_metrics::PageLoadExtraInfo& info) { |
| 51 return STOP_OBSERVING; | 51 return STOP_OBSERVING; |
| 52 } | 52 } |
| 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::OnFirstContentfulPaintInPage( | 63 void OmniboxSuggestionUsedMetricsObserver::OnFirstContentfulPaintInPage( |
| 64 const page_load_metrics::PageLoadTiming& timing, | 64 const page_load_metrics::mojom::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)) { |
| 74 PAGE_LOAD_HISTOGRAM(kURLFirstContentfulPaint, fcp); | 74 PAGE_LOAD_HISTOGRAM(kURLFirstContentfulPaint, fcp); |
| 75 } | 75 } |
| 76 return; | 76 return; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 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:: | 98 void OmniboxSuggestionUsedMetricsObserver:: |
| 99 OnFirstMeaningfulPaintInMainFrameDocument( | 99 OnFirstMeaningfulPaintInMainFrameDocument( |
| 100 const page_load_metrics::PageLoadTiming& timing, | 100 const page_load_metrics::mojom::PageLoadTiming& timing, |
| 101 const page_load_metrics::PageLoadExtraInfo& info) { | 101 const page_load_metrics::PageLoadExtraInfo& info) { |
| 102 base::TimeDelta fmp = timing.paint_timing.first_meaningful_paint.value(); | 102 base::TimeDelta fmp = timing.paint_timing->first_meaningful_paint.value(); |
| 103 | 103 |
| 104 if (info.started_in_foreground) { | 104 if (info.started_in_foreground) { |
| 105 if (ui::PageTransitionCoreTypeIs(transition_type_, | 105 if (ui::PageTransitionCoreTypeIs(transition_type_, |
| 106 ui::PAGE_TRANSITION_GENERATED)) { | 106 ui::PAGE_TRANSITION_GENERATED)) { |
| 107 PAGE_LOAD_HISTOGRAM(kSearchFirstMeaningfulPaint, fmp); | 107 PAGE_LOAD_HISTOGRAM(kSearchFirstMeaningfulPaint, fmp); |
| 108 } else if (ui::PageTransitionCoreTypeIs(transition_type_, | 108 } else if (ui::PageTransitionCoreTypeIs(transition_type_, |
| 109 ui::PAGE_TRANSITION_TYPED)) { | 109 ui::PAGE_TRANSITION_TYPED)) { |
| 110 PAGE_LOAD_HISTOGRAM(kURLFirstMeaningfulPaint, fmp); | 110 PAGE_LOAD_HISTOGRAM(kURLFirstMeaningfulPaint, fmp); |
| 111 } | 111 } |
| 112 } else if (is_prerender_ && info.first_foreground_time) { | 112 } else if (is_prerender_ && info.first_foreground_time) { |
| 113 base::TimeDelta perceived_fmp = | 113 base::TimeDelta perceived_fmp = |
| 114 std::max(base::TimeDelta(), fmp - info.first_foreground_time.value()); | 114 std::max(base::TimeDelta(), fmp - info.first_foreground_time.value()); |
| 115 if (ui::PageTransitionCoreTypeIs(transition_type_, | 115 if (ui::PageTransitionCoreTypeIs(transition_type_, |
| 116 ui::PAGE_TRANSITION_GENERATED)) { | 116 ui::PAGE_TRANSITION_GENERATED)) { |
| 117 PAGE_LOAD_HISTOGRAM(kPrerenderSearchFirstMeaningfulPaint, perceived_fmp); | 117 PAGE_LOAD_HISTOGRAM(kPrerenderSearchFirstMeaningfulPaint, perceived_fmp); |
| 118 } else if (ui::PageTransitionCoreTypeIs(transition_type_, | 118 } else if (ui::PageTransitionCoreTypeIs(transition_type_, |
| 119 ui::PAGE_TRANSITION_TYPED)) { | 119 ui::PAGE_TRANSITION_TYPED)) { |
| 120 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstMeaningfulPaint, perceived_fmp); | 120 PAGE_LOAD_HISTOGRAM(kPrerenderURLFirstMeaningfulPaint, perceived_fmp); |
| 121 } | 121 } |
| 122 } | 122 } |
| 123 } | 123 } |
| OLD | NEW |