Chromium Code Reviews| Index: chrome/browser/previews/previews_infobar_tab_helper.cc |
| diff --git a/chrome/browser/previews/previews_infobar_tab_helper.cc b/chrome/browser/previews/previews_infobar_tab_helper.cc |
| index 41dd2ffa62bf54af4d7f9743104233b9679b31fd..70f8a6bc0a8053f2eb65de3ffbcb65d32e8821d3 100644 |
| --- a/chrome/browser/previews/previews_infobar_tab_helper.cc |
| +++ b/chrome/browser/previews/previews_infobar_tab_helper.cc |
| @@ -9,6 +9,7 @@ |
| #include "chrome/browser/loader/chrome_navigation_data.h" |
| #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h" |
| +#include "chrome/browser/page_load_metrics/metrics_web_contents_observer.h" |
| #include "chrome/browser/previews/previews_infobar_delegate.h" |
| #include "chrome/browser/previews/previews_service.h" |
| #include "chrome/browser/previews/previews_service_factory.h" |
| @@ -71,6 +72,7 @@ void PreviewsInfoBarTabHelper::DidFinishNavigation( |
| displayed_preview_infobar_ = false; |
| ClearLastNavigationAsync(); |
| committed_data_saver_navigation_id_.reset(); |
| + source_id_.reset(); |
| // As documented in content/public/browser/navigation_handle.h, this |
| // NavigationData is a clone of the NavigationData instance returned from |
| @@ -89,6 +91,18 @@ void PreviewsInfoBarTabHelper::DidFinishNavigation( |
| data->page_id().value(), data->session_key()); |
| } |
| } |
| + page_load_metrics::MetricsWebContentsObserver* metrics_observer = |
| + page_load_metrics::MetricsWebContentsObserver::FromWebContents( |
| + web_contents()); |
| + if (metrics_observer) { |
| + // Due to undefined ordering between this observer and |metrics_observer|, |
| + // whether this navigation is comitted in the PLM framework or tracked as |
| + // pending is undefined. |
| + source_id_ = |
| + metrics_observer->GetUKMSourceIdForNavigationHandle(navigation_handle); |
|
Bryan McQuade
2017/06/28 13:13:40
one risk with this approach is that PLM explicitly
RyanSturm
2017/06/28 16:19:35
I think that is fine as committed_load_ will be em
Bryan McQuade
2017/06/28 16:48:18
Thanks! It sounds like, given the order can vary d
RyanSturm
2017/06/28 16:56:56
I'll go ahead and add the comments as suggested be
RyanSturm
2017/07/11 21:46:41
Done.
|
| + if (!source_id_) |
| + source_id_ = metrics_observer->GetUKMSourceForCommittedLoad(); |
| + } |
| #if defined(OS_ANDROID) |
| offline_pages::OfflinePageTabHelper* tab_helper = |