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

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

Issue 2952343004: Adding previews information to PLM UKM (Closed)
Patch Set: rebase Created 3 years, 5 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_delegate.cc
diff --git a/chrome/browser/previews/previews_infobar_delegate.cc b/chrome/browser/previews/previews_infobar_delegate.cc
index 12562827293755dc3d09936a30ada6c576b00021..5a92b4ce41491d0cb6fa65a796b21286350f53a2 100644
--- a/chrome/browser/previews/previews_infobar_delegate.cc
+++ b/chrome/browser/previews/previews_infobar_delegate.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/infobars/infobar_service.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_tab_helper.h"
#include "chrome/grit/generated_resources.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_pingback_client.h"
@@ -35,6 +36,8 @@
namespace {
+const void* const kOptOutEventKey = 0;
+
const char kMinStalenessParamName[] = "min_staleness_in_minutes";
const char kMaxStalenessParamName[] = "max_staleness_in_minutes";
const int kMinStalenessParamDefaultValue = 5;
@@ -107,6 +110,17 @@ void ReloadWithoutPreviews(previews::PreviewsType previews_type,
}
}
+void InformPLMOfOptOut(content::WebContents* web_contents) {
+ page_load_metrics::MetricsWebContentsObserver* metrics_web_contents_observer =
+ page_load_metrics::MetricsWebContentsObserver::FromWebContents(
+ web_contents);
+ if (!metrics_web_contents_observer)
+ return;
+
+ metrics_web_contents_observer->BroadcastEventToObservers(
+ PreviewsInfoBarDelegate::OptOutEventKey());
+}
+
} // namespace
PreviewsInfoBarDelegate::~PreviewsInfoBarDelegate() {
@@ -240,6 +254,8 @@ bool PreviewsInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) {
ReportPingbackInformation(web_contents);
+ InformPLMOfOptOut(web_contents);
+
if ((previews_type_ == previews::PreviewsType::LITE_PAGE ||
previews_type_ == previews::PreviewsType::LOFI) &&
!data_reduction_proxy::params::IsBlackListEnabledForServerPreviews()) {
@@ -318,3 +334,8 @@ base::string16 PreviewsInfoBarDelegate::GetTimestampText() const {
base::IntToString16(staleness_in_minutes / 60));
}
}
+
+// static
+const void* PreviewsInfoBarDelegate::OptOutEventKey() {
+ return &kOptOutEventKey;
+}
« no previous file with comments | « chrome/browser/previews/previews_infobar_delegate.h ('k') | chrome/browser/previews/previews_infobar_delegate_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698