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

Side by Side Diff: chrome/browser/ui/website_settings/website_settings_unittest.cc

Issue 2434083002: Expand WebsiteSettings histograms for HTTP-bad (Closed)
Patch Set: isherman comments and related cleanup 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/website_settings/website_settings.h" 5 #include "chrome/browser/ui/website_settings/website_settings.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/at_exit.h" 10 #include "base/at_exit.h"
11 #include "base/bind.h" 11 #include "base/bind.h"
12 #include "base/memory/ptr_util.h" 12 #include "base/memory/ptr_util.h"
13 #include "base/message_loop/message_loop.h" 13 #include "base/message_loop/message_loop.h"
14 #include "base/strings/string16.h" 14 #include "base/strings/string16.h"
15 #include "base/strings/utf_string_conversions.h" 15 #include "base/strings/utf_string_conversions.h"
16 #include "base/test/histogram_tester.h"
16 #include "build/build_config.h" 17 #include "build/build_config.h"
17 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 18 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
18 #include "chrome/browser/infobars/infobar_service.h" 19 #include "chrome/browser/infobars/infobar_service.h"
19 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 20 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
20 #include "chrome/browser/usb/usb_chooser_context.h" 21 #include "chrome/browser/usb/usb_chooser_context.h"
21 #include "chrome/browser/usb/usb_chooser_context_factory.h" 22 #include "chrome/browser/usb/usb_chooser_context_factory.h"
22 #include "chrome/grit/theme_resources.h" 23 #include "chrome/grit/theme_resources.h"
23 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 24 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
24 #include "chrome/test/base/testing_profile.h" 25 #include "chrome/test/base/testing_profile.h"
25 #include "components/content_settings/core/browser/host_content_settings_map.h" 26 #include "components/content_settings/core/browser/host_content_settings_map.h"
(...skipping 860 matching lines...) Expand 10 before | Expand all | Expand 10 after
886 TEST_F(WebsiteSettingsTest, InternalPage) { 887 TEST_F(WebsiteSettingsTest, InternalPage) {
887 SetURL("chrome://bookmarks"); 888 SetURL("chrome://bookmarks");
888 SetDefaultUIExpectations(mock_ui()); 889 SetDefaultUIExpectations(mock_ui());
889 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE, 890 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE,
890 website_settings()->site_connection_status()); 891 website_settings()->site_connection_status());
891 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE, 892 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE,
892 website_settings()->site_identity_status()); 893 website_settings()->site_identity_status());
893 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 894 EXPECT_EQ(base::string16(), website_settings()->organization_name());
894 } 895 }
895 #endif 896 #endif
897
898 // Tests that metrics are recorded on a WebsiteSettings for pages with
899 // various security levels.
900 TEST_F(WebsiteSettingsTest, SecurityLevelMetrics) {
901 struct TestCase {
902 const std::string url;
903 const SecurityStateModel::SecurityLevel security_level;
904 const std::string histogram_name;
905 };
906 const char kGenericHistogram[] = "WebsiteSettings.Action";
907
908 const TestCase kTestCases[] = {
909 {"https://example.test", SecurityStateModel::SECURE,
910 "Security.PageInfo.Action.HttpsUrl.Valid"},
911 {"https://example.test", SecurityStateModel::EV_SECURE,
912 "Security.PageInfo.Action.HttpsUrl.Valid"},
913 {"https://example2.test", SecurityStateModel::NONE,
914 "Security.PageInfo.Action.HttpsUrl.Downgraded"},
915 {"https://example.test", SecurityStateModel::DANGEROUS,
916 "Security.PageInfo.Action.HttpsUrl.Dangerous"},
917 {"http://example.test", SecurityStateModel::HTTP_SHOW_WARNING,
918 "Security.PageInfo.Action.HttpUrl.Warning"},
919 {"http://example.test", SecurityStateModel::DANGEROUS,
920 "Security.PageInfo.Action.HttpUrl.Dangerous"},
921 {"http://example.test", SecurityStateModel::NONE,
922 "Security.PageInfo.Action.HttpUrl.Neutral"},
923 };
924
925 for (const auto& test : kTestCases) {
926 base::HistogramTester histograms;
927 SetURL(test.url);
928 security_info_.security_level = test.security_level;
929 ResetMockUI();
930 ClearWebsiteSettings();
931 SetDefaultUIExpectations(mock_ui());
932
933 histograms.ExpectTotalCount(kGenericHistogram, 0);
934 histograms.ExpectTotalCount(test.histogram_name, 0);
935
936 website_settings()->RecordWebsiteSettingsAction(
937 WebsiteSettings::WebsiteSettingsAction::
938 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED);
939
940 // RecordWebsiteSettingsAction() is called during WebsiteSettings
941 // creation in addition to the explicit RecordWebsiteSettingsAction()
942 // call, so it is called twice in total.
943 histograms.ExpectTotalCount(kGenericHistogram, 2);
944 histograms.ExpectBucketCount(
945 kGenericHistogram,
946 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1);
947 histograms.ExpectBucketCount(kGenericHistogram,
948 WebsiteSettings::WebsiteSettingsAction::
949 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
950 1);
951
952 histograms.ExpectTotalCount(test.histogram_name, 2);
953 histograms.ExpectBucketCount(
954 test.histogram_name,
955 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1);
956 histograms.ExpectBucketCount(test.histogram_name,
957 WebsiteSettings::WebsiteSettingsAction::
958 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
959 1);
960 }
961 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698