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

Unified Diff: chrome/browser/previews/previews_infobar_tab_helper.cc

Issue 2952343004: Adding previews information to PLM UKM (Closed)
Patch Set: stop observing on background Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
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 =

Powered by Google App Engine
This is Rietveld 408576698