Refactor SecurityStateModel/Clients for simplicity and reusability.
Primary purpose for this patch is to make content-specific parts of
ChromeSecurityStateModelClient reusable for use in other embedders,
e.g. in headless chrome to support DevTool's Security domain.
The patch replaces the SecurityStateModel class (and its Client
interface) with helper methods, and moves content-specific logic
from CSSMC into new helper methods in the security_state component.
BUG=609394
Review-Url: https://codereview.chromium.org/2448943002
Cr-Commit-Position: refs/heads/master@{#432474}
diff --git a/chrome/browser/ui/website_settings/website_settings.cc b/chrome/browser/ui/website_settings/website_settings.cc
index d474389..c9f7f05 100644
--- a/chrome/browser/ui/website_settings/website_settings.cc
+++ b/chrome/browser/ui/website_settings/website_settings.cc
@@ -82,7 +82,6 @@
using base::UTF8ToUTF16;
using base::UTF16ToUTF8;
using content::BrowserThread;
-using security_state::SecurityStateModel;
namespace {
@@ -126,28 +125,28 @@
return true;
}
-void CheckContentStatus(SecurityStateModel::ContentStatus content_status,
+void CheckContentStatus(security_state::ContentStatus content_status,
bool* displayed,
bool* ran) {
switch (content_status) {
- case SecurityStateModel::CONTENT_STATUS_DISPLAYED:
+ case security_state::CONTENT_STATUS_DISPLAYED:
*displayed = true;
break;
- case SecurityStateModel::CONTENT_STATUS_RAN:
+ case security_state::CONTENT_STATUS_RAN:
*ran = true;
break;
- case SecurityStateModel::CONTENT_STATUS_DISPLAYED_AND_RAN:
+ case security_state::CONTENT_STATUS_DISPLAYED_AND_RAN:
*displayed = true;
*ran = true;
break;
- case SecurityStateModel::CONTENT_STATUS_UNKNOWN:
- case SecurityStateModel::CONTENT_STATUS_NONE:
+ case security_state::CONTENT_STATUS_UNKNOWN:
+ case security_state::CONTENT_STATUS_NONE:
break;
}
}
void CheckForInsecureContent(
- const SecurityStateModel::SecurityInfo& security_info,
+ const security_state::SecurityInfo& security_info,
bool* displayed,
bool* ran) {
CheckContentStatus(security_info.mixed_content_status, displayed, ran);
@@ -165,27 +164,24 @@
}
void GetSiteIdentityByMaliciousContentStatus(
- security_state::SecurityStateModel::MaliciousContentStatus
- malicious_content_status,
+ security_state::MaliciousContentStatus malicious_content_status,
WebsiteSettings::SiteIdentityStatus* status,
base::string16* details) {
switch (malicious_content_status) {
- case security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_NONE:
+ case security_state::MALICIOUS_CONTENT_STATUS_NONE:
NOTREACHED();
break;
- case security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_MALWARE:
+ case security_state::MALICIOUS_CONTENT_STATUS_MALWARE:
*status = WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE;
*details =
l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_MALWARE_DETAILS);
break;
- case security_state::SecurityStateModel::
- MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING:
+ case security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING:
*status = WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING;
*details = l10n_util::GetStringUTF16(
IDS_WEBSITE_SETTINGS_SOCIAL_ENGINEERING_DETAILS);
break;
- case security_state::SecurityStateModel::
- MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE:
+ case security_state::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE:
*status = WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE;
*details = l10n_util::GetStringUTF16(
IDS_WEBSITE_SETTINGS_UNWANTED_SOFTWARE_DETAILS);
@@ -219,7 +215,7 @@
TabSpecificContentSettings* tab_specific_content_settings,
content::WebContents* web_contents,
const GURL& url,
- const SecurityStateModel::SecurityInfo& security_info)
+ const security_state::SecurityInfo& security_info)
: TabSpecificContentSettings::SiteDataObserver(
tab_specific_content_settings),
content::WebContentsObserver(web_contents),
@@ -234,7 +230,7 @@
ChromeSSLHostStateDelegateFactory::GetForProfile(profile)),
did_revoke_user_ssl_decisions_(false),
profile_(profile),
- security_level_(security_state::SecurityStateModel::NONE) {
+ security_level_(security_state::NONE) {
Init(url, security_info);
PresentSitePermissions();
@@ -258,26 +254,24 @@
std::string histogram_name;
if (site_url_.SchemeIsCryptographic()) {
- if (security_level_ == security_state::SecurityStateModel::SECURE ||
- security_level_ == security_state::SecurityStateModel::EV_SECURE) {
+ if (security_level_ == security_state::SECURE ||
+ security_level_ == security_state::EV_SECURE) {
UMA_HISTOGRAM_ENUMERATION("Security.PageInfo.Action.HttpsUrl.Valid",
action, WEBSITE_SETTINGS_COUNT);
- } else if (security_level_ == security_state::SecurityStateModel::NONE) {
+ } else if (security_level_ == security_state::NONE) {
UMA_HISTOGRAM_ENUMERATION("Security.PageInfo.Action.HttpsUrl.Downgraded",
action, WEBSITE_SETTINGS_COUNT);
- } else if (security_level_ ==
- security_state::SecurityStateModel::DANGEROUS) {
+ } else if (security_level_ == security_state::DANGEROUS) {
UMA_HISTOGRAM_ENUMERATION("Security.PageInfo.Action.HttpsUrl.Dangerous",
action, WEBSITE_SETTINGS_COUNT);
}
return;
}
- if (security_level_ ==
- security_state::SecurityStateModel::HTTP_SHOW_WARNING) {
+ if (security_level_ == security_state::HTTP_SHOW_WARNING) {
UMA_HISTOGRAM_ENUMERATION("Security.PageInfo.Action.HttpUrl.Warning",
action, WEBSITE_SETTINGS_COUNT);
- } else if (security_level_ == security_state::SecurityStateModel::DANGEROUS) {
+ } else if (security_level_ == security_state::DANGEROUS) {
UMA_HISTOGRAM_ENUMERATION("Security.PageInfo.Action.HttpUrl.Dangerous",
action, WEBSITE_SETTINGS_COUNT);
} else {
@@ -375,9 +369,8 @@
did_revoke_user_ssl_decisions_ = true;
}
-void WebsiteSettings::Init(
- const GURL& url,
- const SecurityStateModel::SecurityInfo& security_info) {
+void WebsiteSettings::Init(const GURL& url,
+ const security_state::SecurityInfo& security_info) {
#if !defined(OS_ANDROID) && !defined(OS_IOS)
// On desktop, internal URLs aren't handled by this class. Instead, a
// custom and simpler popup is shown.
@@ -419,7 +412,7 @@
certificate_ = security_info.certificate;
if (security_info.malicious_content_status !=
- security_state::SecurityStateModel::MALICIOUS_CONTENT_STATUS_NONE) {
+ security_state::MALICIOUS_CONTENT_STATUS_NONE) {
// The site has been flagged by Safe Browsing as dangerous.
GetSiteIdentityByMaliciousContentStatus(
security_info.malicious_content_status, &site_identity_status_,
@@ -429,7 +422,7 @@
net::IsCertStatusMinorError(security_info.cert_status))) {
// HTTPS with no or minor errors.
if (security_info.security_level ==
- SecurityStateModel::SECURE_WITH_POLICY_INSTALLED_CERT) {
+ security_state::SECURE_WITH_POLICY_INSTALLED_CERT) {
site_identity_status_ = SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT;
site_identity_details_ = l10n_util::GetStringFUTF16(
IDS_CERT_POLICY_PROVIDED_CERT_MESSAGE, UTF8ToUTF16(url.host()));
@@ -501,7 +494,7 @@
IDS_PAGE_INFO_SECURITY_TAB_SECURE_IDENTITY_VERIFIED, issuer_name));
}
switch (security_info.sha1_deprecation_status) {
- case SecurityStateModel::DEPRECATED_SHA1_MINOR:
+ case security_state::DEPRECATED_SHA1_MINOR:
site_identity_status_ =
SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MINOR;
site_identity_details_ +=
@@ -509,7 +502,7 @@
l10n_util::GetStringUTF16(
IDS_PAGE_INFO_SECURITY_TAB_DEPRECATED_SIGNATURE_ALGORITHM_MINOR);
break;
- case SecurityStateModel::DEPRECATED_SHA1_MAJOR:
+ case security_state::DEPRECATED_SHA1_MAJOR:
site_identity_status_ =
SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR;
site_identity_details_ +=
@@ -517,10 +510,10 @@
l10n_util::GetStringUTF16(
IDS_PAGE_INFO_SECURITY_TAB_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR);
break;
- case SecurityStateModel::NO_DEPRECATED_SHA1:
+ case security_state::NO_DEPRECATED_SHA1:
// Nothing to do.
break;
- case SecurityStateModel::UNKNOWN_SHA1:
+ case security_state::UNKNOWN_SHA1:
// UNKNOWN_SHA1 should only appear when certificate info has not been
// initialized, in which case this if-statement should not be running
// because there is no other cert info.
@@ -576,7 +569,7 @@
// Security strength is unknown. Say nothing.
site_connection_status_ = SITE_CONNECTION_STATUS_ENCRYPTED_ERROR;
} else if (security_info.security_bits == 0) {
- DCHECK_NE(security_info.security_level, SecurityStateModel::NONE);
+ DCHECK_NE(security_info.security_level, security_state::NONE);
site_connection_status_ = SITE_CONNECTION_STATUS_ENCRYPTED_ERROR;
site_connection_details_.assign(l10n_util::GetStringFUTF16(
IDS_PAGE_INFO_SECURITY_TAB_NOT_ENCRYPTED_CONNECTION_TEXT,
diff --git a/chrome/browser/ui/website_settings/website_settings.h b/chrome/browser/ui/website_settings/website_settings.h
index ae1aceb..7b9b4aca 100644
--- a/chrome/browser/ui/website_settings/website_settings.h
+++ b/chrome/browser/ui/website_settings/website_settings.h
@@ -10,7 +10,7 @@
#include "chrome/browser/content_settings/tab_specific_content_settings.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_types.h"
-#include "components/security_state/security_state_model.h"
+#include "components/security_state/core/security_state.h"
#include "content/public/browser/web_contents_observer.h"
#include "url/gurl.h"
@@ -116,13 +116,12 @@
// Creates a WebsiteSettings for the passed |url| using the given |ssl| status
// object to determine the status of the site's connection. The
// |WebsiteSettings| takes ownership of the |ui|.
- WebsiteSettings(
- WebsiteSettingsUI* ui,
- Profile* profile,
- TabSpecificContentSettings* tab_specific_content_settings,
- content::WebContents* web_contents,
- const GURL& url,
- const security_state::SecurityStateModel::SecurityInfo& security_info);
+ WebsiteSettings(WebsiteSettingsUI* ui,
+ Profile* profile,
+ TabSpecificContentSettings* tab_specific_content_settings,
+ content::WebContents* web_contents,
+ const GURL& url,
+ const security_state::SecurityInfo& security_info);
~WebsiteSettings() override;
void RecordWebsiteSettingsAction(WebsiteSettingsAction action);
@@ -161,9 +160,7 @@
private:
// Initializes the |WebsiteSettings|.
- void Init(
- const GURL& url,
- const security_state::SecurityStateModel::SecurityInfo& security_info);
+ void Init(const GURL& url, const security_state::SecurityInfo& security_info);
// Sets (presents) the information about the site's permissions in the |ui_|.
void PresentSitePermissions();
@@ -238,7 +235,7 @@
Profile* profile_;
- security_state::SecurityStateModel::SecurityLevel security_level_;
+ security_state::SecurityLevel security_level_;
DISALLOW_COPY_AND_ASSIGN(WebsiteSettings);
};
diff --git a/chrome/browser/ui/website_settings/website_settings_unittest.cc b/chrome/browser/ui/website_settings/website_settings_unittest.cc
index dca9b4b0..2aa9322 100644
--- a/chrome/browser/ui/website_settings/website_settings_unittest.cc
+++ b/chrome/browser/ui/website_settings/website_settings_unittest.cc
@@ -41,7 +41,6 @@
#include "testing/gtest/include/gtest/gtest.h"
using content::SSLStatus;
-using security_state::SecurityStateModel;
using testing::_;
using testing::AnyNumber;
using testing::Invoke;
@@ -101,7 +100,7 @@
ChromeRenderViewHostTestHarness::SetUp();
// Setup stub SecurityInfo.
- security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.security_level = security_state::NONE;
// Create the certificate.
cert_ =
@@ -149,7 +148,7 @@
const GURL& url() const { return url_; }
scoped_refptr<net::X509Certificate> cert() { return cert_; }
MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); }
- const SecurityStateModel::SecurityInfo& security_info() {
+ const security_state::SecurityInfo& security_info() {
return security_info_;
}
const std::vector<std::unique_ptr<WebsiteSettingsUI::ChosenObjectInfo>>&
@@ -176,7 +175,7 @@
return *device_client_.usb_service();
}
- SecurityStateModel::SecurityInfo security_info_;
+ security_state::SecurityInfo security_info_;
private:
device::MockDeviceClient device_client_;
@@ -306,9 +305,9 @@
}
TEST_F(WebsiteSettingsTest, Malware) {
- security_info_.security_level = SecurityStateModel::DANGEROUS;
+ security_info_.security_level = security_state::DANGEROUS;
security_info_.malicious_content_status =
- SecurityStateModel::MALICIOUS_CONTENT_STATUS_MALWARE;
+ security_state::MALICIOUS_CONTENT_STATUS_MALWARE;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(),
SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
@@ -320,9 +319,9 @@
}
TEST_F(WebsiteSettingsTest, SocialEngineering) {
- security_info_.security_level = SecurityStateModel::DANGEROUS;
+ security_info_.security_level = security_state::DANGEROUS;
security_info_.malicious_content_status =
- SecurityStateModel::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
+ security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(),
SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
@@ -334,9 +333,9 @@
}
TEST_F(WebsiteSettingsTest, UnwantedSoftware) {
- security_info_.security_level = SecurityStateModel::DANGEROUS;
+ security_info_.security_level = security_state::DANGEROUS;
security_info_.malicious_content_status =
- SecurityStateModel::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE;
+ security_state::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(),
SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS));
@@ -359,7 +358,7 @@
}
TEST_F(WebsiteSettingsTest, HTTPSConnection) {
- security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.security_level = security_state::SECURE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = 0;
@@ -382,10 +381,10 @@
TEST_F(WebsiteSettingsTest, InsecureContent) {
struct TestCase {
- SecurityStateModel::SecurityLevel security_level;
+ security_state::SecurityLevel security_level;
net::CertStatus cert_status;
- SecurityStateModel::ContentStatus mixed_content_status;
- SecurityStateModel::ContentStatus content_with_cert_errors_status;
+ security_state::ContentStatus mixed_content_status;
+ security_state::ContentStatus content_with_cert_errors_status;
WebsiteSettings::SiteConnectionStatus expected_site_connection_status;
WebsiteSettings::SiteIdentityStatus expected_site_identity_status;
int expected_connection_icon_id;
@@ -393,45 +392,43 @@
const TestCase kTestCases[] = {
// Passive mixed content.
- {SecurityStateModel::NONE, 0,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::NONE, 0, security_state::CONTENT_STATUS_DISPLAYED,
+ security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_WARNING_MINOR},
// Passive mixed content with a cert error on the main resource.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_DISPLAYED,
+ security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_WARNING_MINOR},
// Active and passive mixed content.
- {SecurityStateModel::DANGEROUS, 0,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED_AND_RAN,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::DANGEROUS, 0,
+ security_state::CONTENT_STATUS_DISPLAYED_AND_RAN,
+ security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Active and passive mixed content with a cert error on the main
// resource.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED_AND_RAN,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_DISPLAYED_AND_RAN,
+ security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_BAD},
// Active mixed content.
- {SecurityStateModel::DANGEROUS, 0, SecurityStateModel::CONTENT_STATUS_RAN,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::DANGEROUS, 0, security_state::CONTENT_STATUS_RAN,
+ security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Active mixed content with a cert error on the main resource.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_RAN,
- SecurityStateModel::CONTENT_STATUS_NONE,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_RAN, security_state::CONTENT_STATUS_NONE,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_BAD},
// Passive subresources with cert errors.
- {SecurityStateModel::NONE, 0, SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
+ {security_state::NONE, 0, security_state::CONTENT_STATUS_NONE,
+ security_state::CONTENT_STATUS_DISPLAYED,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_WARNING_MINOR},
// Passive subresources with cert errors, with a cert error on the
@@ -439,60 +436,55 @@
// certificate errors are ignored: if the main resource had a cert
// error, it's not that useful to warn about subresources with cert
// errors as well.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_NONE,
+ security_state::CONTENT_STATUS_DISPLAYED,
WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_GOOD},
// Passive and active subresources with cert errors.
- {SecurityStateModel::DANGEROUS, 0,
- SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED_AND_RAN,
+ {security_state::DANGEROUS, 0, security_state::CONTENT_STATUS_NONE,
+ security_state::CONTENT_STATUS_DISPLAYED_AND_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Passive and active subresources with cert errors, with a cert
// error on the main resource also.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED_AND_RAN,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_NONE,
+ security_state::CONTENT_STATUS_DISPLAYED_AND_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_GOOD},
// Active subresources with cert errors.
- {SecurityStateModel::DANGEROUS, 0,
- SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_RAN,
+ {security_state::DANGEROUS, 0, security_state::CONTENT_STATUS_NONE,
+ security_state::CONTENT_STATUS_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Active subresources with cert errors, with a cert error on the main
// resource also.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_NONE,
- SecurityStateModel::CONTENT_STATUS_RAN,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_NONE, security_state::CONTENT_STATUS_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_GOOD},
// Passive mixed content and subresources with cert errors.
- {SecurityStateModel::NONE, 0,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
+ {security_state::NONE, 0, security_state::CONTENT_STATUS_DISPLAYED,
+ security_state::CONTENT_STATUS_DISPLAYED,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_WARNING_MINOR},
// Passive mixed content and active subresources with cert errors.
- {SecurityStateModel::DANGEROUS, 0,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
- SecurityStateModel::CONTENT_STATUS_RAN,
+ {security_state::DANGEROUS, 0, security_state::CONTENT_STATUS_DISPLAYED,
+ security_state::CONTENT_STATUS_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Active mixed content and passive subresources with cert errors.
- {SecurityStateModel::DANGEROUS, 0, SecurityStateModel::CONTENT_STATUS_RAN,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
+ {security_state::DANGEROUS, 0, security_state::CONTENT_STATUS_RAN,
+ security_state::CONTENT_STATUS_DISPLAYED,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_ACTIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_CERT, IDR_PAGEINFO_BAD},
// Passive mixed content, active subresources with cert errors, and a cert
// error on the main resource.
- {SecurityStateModel::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
- SecurityStateModel::CONTENT_STATUS_DISPLAYED,
- SecurityStateModel::CONTENT_STATUS_RAN,
+ {security_state::DANGEROUS, net::CERT_STATUS_DATE_INVALID,
+ security_state::CONTENT_STATUS_DISPLAYED,
+ security_state::CONTENT_STATUS_RAN,
WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE,
WebsiteSettings::SITE_IDENTITY_STATUS_ERROR, IDR_PAGEINFO_WARNING_MINOR},
};
@@ -500,7 +492,7 @@
for (const auto& test : kTestCases) {
ResetMockUI();
ClearWebsiteSettings();
- security_info_ = SecurityStateModel::SecurityInfo();
+ security_info_ = security_state::SecurityInfo();
security_info_.security_level = test.security_level;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
@@ -535,13 +527,13 @@
reinterpret_cast<const char*>(google_der),
sizeof(google_der));
- security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.security_level = security_state::NONE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = ev_cert;
security_info_.cert_status = net::CERT_STATUS_IS_EV;
security_info_.security_bits = 81; // No error if > 80.
security_info_.mixed_content_status =
- SecurityStateModel::CONTENT_STATUS_DISPLAYED;
+ security_state::CONTENT_STATUS_DISPLAYED;
int status = 0;
status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
@@ -560,7 +552,7 @@
}
TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
- security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.security_level = security_state::SECURE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
@@ -581,7 +573,7 @@
}
TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
- security_info_.security_level = SecurityStateModel::SECURE;
+ security_info_.security_level = security_state::SECURE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = 0;
@@ -603,7 +595,7 @@
TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) {
security_info_.security_level =
- SecurityStateModel::SECURE_WITH_POLICY_INSTALLED_CERT;
+ security_state::SECURE_WITH_POLICY_INSTALLED_CERT;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = 0;
@@ -624,7 +616,7 @@
}
TEST_F(WebsiteSettingsTest, HTTPSSHA1Minor) {
- security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.security_level = security_state::NONE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = 0;
@@ -634,7 +626,7 @@
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
security_info_.connection_status = status;
security_info_.sha1_deprecation_status =
- SecurityStateModel::DEPRECATED_SHA1_MINOR;
+ security_state::DEPRECATED_SHA1_MINOR;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -651,7 +643,7 @@
}
TEST_F(WebsiteSettingsTest, HTTPSSHA1Major) {
- security_info_.security_level = SecurityStateModel::NONE;
+ security_info_.security_level = security_state::NONE;
security_info_.scheme_is_cryptographic = true;
security_info_.certificate = cert();
security_info_.cert_status = 0;
@@ -661,7 +653,7 @@
status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
security_info_.connection_status = status;
security_info_.sha1_deprecation_status =
- SecurityStateModel::DEPRECATED_SHA1_MAJOR;
+ security_state::DEPRECATED_SHA1_MAJOR;
SetDefaultUIExpectations(mock_ui());
EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
@@ -734,25 +726,25 @@
TEST_F(WebsiteSettingsTest, SecurityLevelMetrics) {
struct TestCase {
const std::string url;
- const SecurityStateModel::SecurityLevel security_level;
+ const security_state::SecurityLevel security_level;
const std::string histogram_name;
};
const char kGenericHistogram[] = "WebsiteSettings.Action";
const TestCase kTestCases[] = {
- {"https://example.test", SecurityStateModel::SECURE,
+ {"https://example.test", security_state::SECURE,
"Security.PageInfo.Action.HttpsUrl.Valid"},
- {"https://example.test", SecurityStateModel::EV_SECURE,
+ {"https://example.test", security_state::EV_SECURE,
"Security.PageInfo.Action.HttpsUrl.Valid"},
- {"https://example2.test", SecurityStateModel::NONE,
+ {"https://example2.test", security_state::NONE,
"Security.PageInfo.Action.HttpsUrl.Downgraded"},
- {"https://example.test", SecurityStateModel::DANGEROUS,
+ {"https://example.test", security_state::DANGEROUS,
"Security.PageInfo.Action.HttpsUrl.Dangerous"},
- {"http://example.test", SecurityStateModel::HTTP_SHOW_WARNING,
+ {"http://example.test", security_state::HTTP_SHOW_WARNING,
"Security.PageInfo.Action.HttpUrl.Warning"},
- {"http://example.test", SecurityStateModel::DANGEROUS,
+ {"http://example.test", security_state::DANGEROUS,
"Security.PageInfo.Action.HttpUrl.Dangerous"},
- {"http://example.test", SecurityStateModel::NONE,
+ {"http://example.test", security_state::NONE,
"Security.PageInfo.Action.HttpUrl.Neutral"},
};