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

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

Issue 2848293002: Adding the Previews infobar to pages that show a client LoFi image (Closed)
Patch Set: removed range check Created 3 years, 8 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_unittest.cc
diff --git a/chrome/browser/previews/previews_infobar_delegate_unittest.cc b/chrome/browser/previews/previews_infobar_delegate_unittest.cc
index 15fad9d5523ccf7dd3ed7211342c53ba06081613..ee45d32bcd06b0af8ab2daeb5706338469eb7422 100644
--- a/chrome/browser/previews/previews_infobar_delegate_unittest.cc
+++ b/chrome/browser/previews/previews_infobar_delegate_unittest.cc
@@ -55,6 +55,10 @@ const char kUMAPreviewsInfoBarActionLoFi[] = "Previews.InfoBarAction.LoFi";
const char kUMAPreviewsInfoBarActionOffline[] =
"Previews.InfoBarAction.Offline";
+// Key of the UMA Previews.InfoBarAction.ClientLoFi histogram.
+const char kUMAPreviewsInfoBarActionClientLoFi[] =
+ "Previews.InfoBarAction.ClientLoFi";
+
// Key of the UMA Previews.InfoBarAction.LitePage histogram.
const char kUMAPreviewsInfoBarActionLitePage[] =
"Previews.InfoBarAction.LitePage";
@@ -524,3 +528,44 @@ TEST_F(PreviewsInfoBarDelegateUnitTest, PingbackClientClearedTabClosed) {
->pingback_client()
->OptOutsSizeForTesting());
}
+
+TEST_F(PreviewsInfoBarDelegateUnitTest, ClientSideLoFiTest) {
+ base::HistogramTester tester;
+
+ NavigateAndCommit(GURL(kTestUrl));
+
+ ConfirmInfoBarDelegate* infobar = CreateInfoBar(
+ PreviewsInfoBarDelegate::CLIENT_LOFI, true /* is_data_saver_user */);
+
+ tester.ExpectUniqueSample(kUMAPreviewsInfoBarActionClientLoFi,
+ PreviewsInfoBarDelegate::INFOBAR_SHOWN, 1);
+
+ // Check the strings.
+ ASSERT_TRUE(infobar);
+ ASSERT_EQ(l10n_util::GetStringUTF16(IDS_PREVIEWS_INFOBAR_SAVED_DATA_TITLE),
+ infobar->GetMessageText());
+ ASSERT_EQ(l10n_util::GetStringUTF16(IDS_PREVIEWS_INFOBAR_LINK),
+ infobar->GetLinkText());
+#if defined(OS_ANDROID)
+ ASSERT_EQ(IDR_ANDROID_INFOBAR_PREVIEWS, infobar->GetIconId());
+#else
+ ASSERT_EQ(PreviewsInfoBarDelegate::kNoIconID, infobar->GetIconId());
+#endif
+
+ // Simulate clicking the infobar link.
+ if (infobar->LinkClicked(WindowOpenDisposition::CURRENT_TAB))
+ infobar_service()->infobar_at(0)->RemoveSelf();
+ EXPECT_EQ(0U, infobar_service()->infobar_count());
+
+ tester.ExpectBucketCount(
+ kUMAPreviewsInfoBarActionClientLoFi,
+ PreviewsInfoBarDelegate::INFOBAR_LOAD_ORIGINAL_CLICKED, 1);
+
+ auto* data_reduction_proxy_settings =
+ DataReductionProxyChromeSettingsFactory::GetForBrowserContext(
+ web_contents()->GetBrowserContext());
+
+ EXPECT_EQ(0u, data_reduction_proxy_settings->data_reduction_proxy_service()
+ ->pingback_client()
+ ->OptOutsSizeForTesting());
+}

Powered by Google App Engine
This is Rietveld 408576698