| 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());
|
| +}
|
|
|