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

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

Issue 2434083002: Expand WebsiteSettings histograms for HTTP-bad (Closed)
Patch Set: rebase 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 base::HistogramTester histograms;
908
909 const TestCase kTestCases[] = {
910 {"https://example.test", SecurityStateModel::SECURE,
911 "PageInfo.Action.HttpsUrl2"},
912 {"https://example2.test", SecurityStateModel::NONE,
913 "PageInfo.Action.HttpsUrlDowngraded"},
914 {"https://example.test", SecurityStateModel::DANGEROUS,
915 "PageInfo.Action.HttpsUrlDangerous"},
916 {"http://example.test", SecurityStateModel::HTTP_SHOW_WARNING,
917 "PageInfo.Action.HttpWarning"},
918 {"http://example.test", SecurityStateModel::DANGEROUS,
919 "PageInfo.Action.HttpUrlDangerous"},
920 };
921
922 uint32_t i = 0;
923 for (const auto& test : kTestCases) {
924 SetURL(test.url);
925 security_info_.security_level = test.security_level;
926 ResetMockUI();
927 ClearWebsiteSettings();
928 SetDefaultUIExpectations(mock_ui());
929
930 histograms.ExpectTotalCount(kGenericHistogram, i * 2);
931 histograms.ExpectTotalCount(test.histogram_name, 0);
932
933 website_settings()->RecordWebsiteSettingsAction(
934 WebsiteSettings::WebsiteSettingsAction::
935 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED);
936
937 // RecordWebsiteSettingsAction() is called during WebsiteSettings
938 // creation in addition to the explicit RecordWebsiteSettingsAction()
939 // call, so it is called twice in total.
940 i++;
941 histograms.ExpectTotalCount(kGenericHistogram, i * 2);
942 histograms.ExpectBucketCount(
943 kGenericHistogram,
944 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, i);
945 histograms.ExpectBucketCount(kGenericHistogram,
946 WebsiteSettings::WebsiteSettingsAction::
947 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
948 i);
949
950 histograms.ExpectTotalCount(test.histogram_name, 2);
951 histograms.ExpectBucketCount(
952 test.histogram_name,
953 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1);
954 histograms.ExpectBucketCount(test.histogram_name,
955 WebsiteSettings::WebsiteSettingsAction::
956 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED,
957 1);
958 }
959 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698