Chromium Code Reviews| Index: chrome/browser/page_load_metrics/observers/omnibox_suggested_used_page_load_metrics_observer.cc |
| diff --git a/chrome/browser/page_load_metrics/observers/omnibox_suggested_used_page_load_metrics_observer.cc b/chrome/browser/page_load_metrics/observers/omnibox_suggested_used_page_load_metrics_observer.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..60407b8618f1d8d6736ae18c81882cdae82d3711 |
| --- /dev/null |
| +++ b/chrome/browser/page_load_metrics/observers/omnibox_suggested_used_page_load_metrics_observer.cc |
| @@ -0,0 +1,71 @@ |
| +// Copyright 2017 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/page_load_metrics/observers/omnibox_suggested_used_page_load_metrics_observer.h" |
| + |
| +#include "chrome/browser/page_load_metrics/page_load_metrics_util.h" |
| + |
| +OmniboxSuggestedUsedMetricsObserver::OmniboxSuggestedUsedMetricsObserver() {} |
| + |
| +OmniboxSuggestedUsedMetricsObserver::~OmniboxSuggestedUsedMetricsObserver() {} |
| + |
| +page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
| +OmniboxSuggestedUsedMetricsObserver::OnStart( |
| + content::NavigationHandle* navigation_handle, |
| + const GURL& currently_committed_url, |
| + bool started_in_foreground) { |
|
Mark P
2017/03/14 18:36:47
How does |started_in_foreground| work with the omn
Bryan McQuade
2017/03/15 01:44:25
Right, I expect that a middle click on the omnibox
|
| + return started_in_foreground ? CONTINUE_OBSERVING : STOP_OBSERVING; |
| +} |
| + |
| +page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
| +OmniboxSuggestedUsedMetricsObserver::OnHidden( |
| + const page_load_metrics::PageLoadTiming& timing, |
| + const page_load_metrics::PageLoadExtraInfo& info) { |
| + return STOP_OBSERVING; |
| +} |
| + |
| +page_load_metrics::PageLoadMetricsObserver::ObservePolicy |
| +OmniboxSuggestedUsedMetricsObserver::OnCommit( |
| + content::NavigationHandle* navigation_handle) { |
| + transition_type_ = navigation_handle->GetPageTransition(); |
| + return (transition_type_ & ui::PAGE_TRANSITION_FROM_ADDRESS_BAR) != 0 |
| + ? CONTINUE_OBSERVING |
| + : STOP_OBSERVING; |
| +} |
| + |
| +void OmniboxSuggestedUsedMetricsObserver::OnFirstContentfulPaint( |
| + const page_load_metrics::PageLoadTiming& timing, |
| + const page_load_metrics::PageLoadExtraInfo& info) { |
| + if (ui::PageTransitionCoreTypeIs(transition_type_, |
| + ui::PAGE_TRANSITION_GENERATED)) { |
| + PAGE_LOAD_HISTOGRAM( |
| + "PageLoad.Clients.Omnibox.SuggestedUsed.Search." |
|
Bryan McQuade
2017/03/15 01:44:25
these names seem fine to me, just changing 'Sugges
lpy
2017/03/15 19:20:18
Done.
|
| + "NavigationToFirstContentfulPaint", |
| + timing.first_contentful_paint.value()); |
| + } else if (ui::PageTransitionCoreTypeIs(transition_type_, |
| + ui::PAGE_TRANSITION_TYPED)) { |
| + PAGE_LOAD_HISTOGRAM( |
| + "PageLoad.Clients.Omnibox.SuggestedUsed.URL." |
| + "NavigationToFirstContentfulPaint", |
| + timing.first_contentful_paint.value()); |
| + } |
| +} |
| + |
| +void OmniboxSuggestedUsedMetricsObserver::OnFirstMeaningfulPaint( |
| + const page_load_metrics::PageLoadTiming& timing, |
| + const page_load_metrics::PageLoadExtraInfo& info) { |
| + if (ui::PageTransitionCoreTypeIs(transition_type_, |
| + ui::PAGE_TRANSITION_GENERATED)) { |
| + PAGE_LOAD_HISTOGRAM( |
| + "PageLoad.Clients.Omnibox.SuggestedUsed.Search.Experimental." |
| + "NavigationToFirstMeaningfulPaint", |
| + timing.first_meaningful_paint.value()); |
| + } else if (ui::PageTransitionCoreTypeIs(transition_type_, |
| + ui::PAGE_TRANSITION_TYPED)) { |
| + PAGE_LOAD_HISTOGRAM( |
| + "PageLoad.Clients.Omnibox.SuggestedUsed.URL.Experimental." |
| + "NavigationToFirstMeaningfulPaint", |
| + timing.first_meaningful_paint.value()); |
| + } |
| +} |