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 = |