Chromium Code Reviews| Index: chrome/browser/ui/content_settings/content_setting_bubble_model_browsertest.cc |
| diff --git a/chrome/browser/ui/content_settings/content_setting_bubble_model_browsertest.cc b/chrome/browser/ui/content_settings/content_setting_bubble_model_browsertest.cc |
| index 84cf40e08028954cf3c5870a7de4f2d755f1536b..acbfd81c9e4f710061e3d2f16f21404e79ada145 100644 |
| --- a/chrome/browser/ui/content_settings/content_setting_bubble_model_browsertest.cc |
| +++ b/chrome/browser/ui/content_settings/content_setting_bubble_model_browsertest.cc |
| @@ -228,3 +228,57 @@ IN_PROC_BROWSER_TEST_F(ContentSettingBubbleModelMediaStreamTest, |
| EXPECT_EQ(GURL("chrome://settings/contentExceptions#media-stream-camera"), |
| GetActiveTab()->GetLastCommittedURL()); |
| } |
| + |
| +class ContentSettingBubbleModelPopupTest : public InProcessBrowserTest { |
| + protected: |
| + void SetUpInProcessBrowserTestFixture() override { |
| + https_server_.reset( |
| + new net::EmbeddedTestServer(net::EmbeddedTestServer::TYPE_HTTPS)); |
| + https_server_->ServeFilesFromSourceDirectory(base::FilePath(kDocRoot)); |
| + ASSERT_TRUE(https_server_->Start()); |
| + } |
| + std::unique_ptr<net::EmbeddedTestServer> https_server_; |
| +}; |
| + |
| +// Tests that each popup action is counted in the right bucket. |
|
Nico
2017/01/03 14:34:07
Nice!
|
| +IN_PROC_BROWSER_TEST_F(ContentSettingBubbleModelPopupTest, |
| + PopupsActionsCount){ |
| + GURL url(https_server_->GetURL("/popup_blocker/popup-many.html")); |
| + base::HistogramTester histograms; |
| + histograms.ExpectTotalCount("ContentSettings.Popups", 0); |
| + |
| + ui_test_utils::NavigateToURL(browser(), url); |
| + |
| + histograms.ExpectBucketCount( |
| + "ContentSettings.Popups", |
| + content_settings::POPUPS_ACTION_DISPLAYED_BLOCKED_ICON_IN_OMNIBOX, 1); |
| + |
| + // Creates the ContentSettingPopupBubbleModel in order to emulate clicks. |
| + std::unique_ptr<ContentSettingBubbleModel> model( |
| + ContentSettingBubbleModel::CreateContentSettingBubbleModel( |
| + browser()->content_setting_bubble_model_delegate(), |
| + browser()->tab_strip_model()->GetActiveWebContents(), |
| + browser()->profile(), CONTENT_SETTINGS_TYPE_POPUPS)); |
| + |
| + histograms.ExpectBucketCount( |
| + "ContentSettings.Popups", |
| + content_settings::POPUPS_ACTION_DISPLAYED_BUBBLE, 1); |
| + |
| + model->OnListItemClicked(0); |
| + histograms.ExpectBucketCount( |
| + "ContentSettings.Popups", |
| + content_settings::POPUPS_ACTION_CLICKED_LIST_ITEM_CLICKED, 1); |
| + |
| + model->OnManageLinkClicked(); |
| + histograms.ExpectBucketCount( |
| + "ContentSettings.Popups", |
| + content_settings::POPUPS_ACTION_CLICKED_MANAGE_POPUPS_BLOCKING, 1); |
| + |
| + model->OnRadioClicked(model->kAllowButtonIndex); |
| + delete model.release(); |
| + histograms.ExpectBucketCount( |
| + "ContentSettings.Popups", |
| + content_settings::POPUPS_ACTION_SELECTED_ALWAYS_ALLOW_POPUPS_FROM, 1); |
| + |
| + histograms.ExpectTotalCount("ContentSettings.Popups", 5); |
| +} |