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

Unified Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 2434083002: Expand WebsiteSettings histograms for HTTP-bad (Closed)
Patch Set: fix test description Created 4 years, 2 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/ui/website_settings/website_settings_unittest.cc
diff --git a/chrome/browser/ui/website_settings/website_settings_unittest.cc b/chrome/browser/ui/website_settings/website_settings_unittest.cc
index d66dfff0652a223a741e517f7e6e91107eb57172..cf96f348d800e37b17cbc0b7d1e6a7801e3a175a 100644
--- a/chrome/browser/ui/website_settings/website_settings_unittest.cc
+++ b/chrome/browser/ui/website_settings/website_settings_unittest.cc
@@ -13,6 +13,7 @@
#include "base/message_loop/message_loop.h"
#include "base/strings/string16.h"
#include "base/strings/utf_string_conversions.h"
+#include "base/test/histogram_tester.h"
#include "build/build_config.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/infobars/infobar_service.h"
@@ -893,3 +894,66 @@ TEST_F(WebsiteSettingsTest, InternalPage) {
EXPECT_EQ(base::string16(), website_settings()->organization_name());
}
#endif
+
+// Tests that metrics are recorded on a WebsiteSettings for pages with
+// various security levels.
+TEST_F(WebsiteSettingsTest, SecurityLevelMetrics) {
+ struct TestCase {
+ const std::string url;
+ const SecurityStateModel::SecurityLevel security_level;
+ const std::string histogram_name;
+ };
+ const char kGenericHistogram[] = "WebsiteSettings.Action";
+ base::HistogramTester histograms;
+
+ const TestCase kTestCases[] = {
+ {"https://example.test", SecurityStateModel::SECURE,
+ "WebsiteSettings.Action.HttpsUrl2"},
+ {"https://example2.test", SecurityStateModel::NONE,
+ "WebsiteSettings.Action.HttpsUrlDowngraded"},
+ {"https://example.test", SecurityStateModel::DANGEROUS,
+ "WebsiteSettings.Action.HttpsUrlDangerous"},
+ {"http://example.test", SecurityStateModel::HTTP_SHOW_WARNING,
+ "WebsiteSettings.Action.HttpWarning"},
+ {"http://example.test", SecurityStateModel::DANGEROUS,
+ "WebsiteSettings.Action.HttpUrlDangerous"},
+ };
+
+ uint32_t i = 0;
+ for (const auto& test : kTestCases) {
+ SetURL(test.url);
+ security_info_.security_level = test.security_level;
+ ResetMockUI();
+ ClearWebsiteSettings();
+ SetDefaultUIExpectations(mock_ui());
+
+ histograms.ExpectTotalCount(kGenericHistogram, i * 2);
+ histograms.ExpectTotalCount(test.histogram_name, 0);
+
+ website_settings()->RecordWebsiteSettingsAction(
+ WebsiteSettings::WebsiteSettingsAction::
+ WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED);
+
+ // RecordWebsiteSettingsAction() is called during WebsiteSettings
+ // creation in addition to the explicit RecordWebsiteSettingsAction()
+ // call, so it is called twice in total.
+ i++;
+ histograms.ExpectTotalCount(kGenericHistogram, i * 2);
+ histograms.ExpectBucketCount(
+ kGenericHistogram,
+ WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, i);
+ histograms.ExpectBucketCount(kGenericHistogram,
+ WebsiteSettings::WebsiteSettingsAction::
+ WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
+ i);
+
+ histograms.ExpectTotalCount(test.histogram_name, 2);
+ histograms.ExpectBucketCount(
+ test.histogram_name,
+ WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1);
+ histograms.ExpectBucketCount(test.histogram_name,
+ WebsiteSettings::WebsiteSettingsAction::
+ WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
+ 1);
+ }
+}

Powered by Google App Engine
This is Rietveld 408576698