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

Unified Diff: chrome/browser/previews/previews_infobar_delegate.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_delegate.cc
diff --git a/chrome/browser/previews/previews_infobar_delegate.cc b/chrome/browser/previews/previews_infobar_delegate.cc
index 110f20885eda515966c239a227430ac53c795f2d..58d1096b020b74772aa4a019a5590186cef6cbd4 100644
--- a/chrome/browser/previews/previews_infobar_delegate.cc
+++ b/chrome/browser/previews/previews_infobar_delegate.cc
@@ -24,6 +24,9 @@
#include "components/infobars/core/infobar.h"
#include "components/network_time/network_time_tracker.h"
#include "components/previews/core/previews_features.h"
+#include "components/ukm/public/ukm_entry_builder.h"
+#include "components/ukm/public/ukm_recorder.h"
+#include "components/ukm/ukm_source.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/web_contents.h"
#include "ui/base/l10n/l10n_util.h"
@@ -34,6 +37,9 @@
namespace {
+const char kPreviewsName[] = "Previews";
+const char kPreviewsOptOut[] = "opt_out";
+
void RecordPreviewsInfoBarAction(
previews::PreviewsType previews_type,
PreviewsInfoBarDelegate::PreviewsInfoBarAction action) {
@@ -225,6 +231,10 @@ bool PreviewsInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) {
ReportPingbackInformation(web_contents);
+ // TODO(ryansturm): Add support for Offline Previews in PLM UKM.
+ if (previews_type_ != previews::PreviewsType::OFFLINE)
+ RecordUKMOptOut();
+
if ((previews_type_ == previews::PreviewsType::LITE_PAGE ||
previews_type_ == previews::PreviewsType::LOFI) &&
!data_reduction_proxy::params::IsBlackListEnabledForServerPreviews()) {
@@ -282,3 +292,18 @@ base::string16 PreviewsInfoBarDelegate::GetTimestampText() const {
base::IntToString16(staleness_in_minutes / 60));
}
}
+
+void PreviewsInfoBarDelegate::RecordUKMOptOut() {
+ content::WebContents* web_contents =
+ InfoBarService::WebContentsFromInfoBar(infobar());
+ PreviewsInfoBarTabHelper* infobar_tab_helper =
+ PreviewsInfoBarTabHelper::FromWebContents(web_contents);
+ if (!infobar_tab_helper || !infobar_tab_helper->source_id()) {
+ return;
+ }
+
+ ukm::UkmRecorder* ukm_recorder = g_browser_process->ukm_recorder();
+ std::unique_ptr<ukm::UkmEntryBuilder> builder = ukm_recorder->GetEntryBuilder(
+ infobar_tab_helper->source_id().value(), kPreviewsName);
+ builder->AddMetric(kPreviewsOptOut, true);
+}

Powered by Google App Engine
This is Rietveld 408576698