| 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 e7d0c994e677a36a7b5503df214bf149fb255ff3..5eaba491ce31ac944c31461d0fd2cdbbd49fb6a7 100644
|
| --- a/chrome/browser/ui/website_settings/website_settings_unittest.cc
|
| +++ b/chrome/browser/ui/website_settings/website_settings_unittest.cc
|
| @@ -79,7 +79,7 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
|
| void SetUp() override {
|
| ChromeRenderViewHostTestHarness::SetUp();
|
| // Setup stub SSLStatus.
|
| - ssl_.security_style = content::SECURITY_STYLE_UNAUTHENTICATED;
|
| + security_info_.security_level = SecurityStateModel::NONE;
|
|
|
| // Create the certificate.
|
| cert_id_ = 1;
|
| @@ -123,7 +123,9 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
|
| MockCertStore* cert_store() { return &cert_store_; }
|
| int cert_id() { return cert_id_; }
|
| MockWebsiteSettingsUI* mock_ui() { return mock_ui_.get(); }
|
| - const SSLStatus& ssl() { return ssl_; }
|
| + const SecurityStateModel::SecurityInfo& security_info() {
|
| + return security_info_;
|
| + }
|
| TabSpecificContentSettings* tab_specific_content_settings() {
|
| return TabSpecificContentSettings::FromWebContents(web_contents());
|
| }
|
| @@ -134,13 +136,13 @@ class WebsiteSettingsTest : public ChromeRenderViewHostTestHarness {
|
| WebsiteSettings* website_settings() {
|
| if (!website_settings_.get()) {
|
| website_settings_.reset(new WebsiteSettings(
|
| - mock_ui(), profile(), tab_specific_content_settings(),
|
| - web_contents(), url(), ssl(), cert_store()));
|
| + mock_ui(), profile(), tab_specific_content_settings(), web_contents(),
|
| + url(), security_info(), cert_store()));
|
| }
|
| return website_settings_.get();
|
| }
|
|
|
| - SSLStatus ssl_;
|
| + SecurityStateModel::SecurityInfo security_info_;
|
|
|
| private:
|
| scoped_ptr<WebsiteSettings> website_settings_;
|
| @@ -286,14 +288,15 @@ TEST_F(WebsiteSettingsTest, HTTPConnection) {
|
| }
|
|
|
| TEST_F(WebsiteSettingsTest, HTTPSConnection) {
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
|
| - ssl_.cert_id = cert_id();
|
| - ssl_.cert_status = 0;
|
| - ssl_.security_bits = 81; // No error if > 80.
|
| + security_info_.security_level = SecurityStateModel::SECURE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(
|
| @@ -307,15 +310,17 @@ TEST_F(WebsiteSettingsTest, HTTPSConnection) {
|
| }
|
|
|
| TEST_F(WebsiteSettingsTest, HTTPSPassiveMixedContent) {
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
|
| - ssl_.cert_id = cert_id();
|
| - ssl_.cert_status = 0;
|
| - ssl_.security_bits = 81; // No error if > 80.
|
| - ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
|
| + security_info_.security_level = SecurityStateModel::NONE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| + security_info_.mixed_content_status =
|
| + SecurityStateModel::DISPLAYED_MIXED_CONTENT;
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| @@ -331,15 +336,17 @@ TEST_F(WebsiteSettingsTest, HTTPSPassiveMixedContent) {
|
| }
|
|
|
| TEST_F(WebsiteSettingsTest, HTTPSActiveMixedContent) {
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATION_BROKEN;
|
| - ssl_.cert_id = cert_id();
|
| - ssl_.cert_status = 0;
|
| - ssl_.security_bits = 81; // No error if > 80.
|
| - ssl_.content_status = SSLStatus::RAN_INSECURE_CONTENT;
|
| + security_info_.security_level = SecurityStateModel::SECURITY_ERROR;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| + security_info_.mixed_content_status =
|
| + SecurityStateModel::RAN_AND_DISPLAYED_MIXED_CONTENT;
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| @@ -363,15 +370,17 @@ TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
|
| EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly(
|
| DoAll(SetArgPointee<1>(ev_cert), Return(true)));
|
|
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
|
| - ssl_.cert_id = ev_cert_id;
|
| - ssl_.cert_status = net::CERT_STATUS_IS_EV;
|
| - ssl_.security_bits = 81; // No error if > 80.
|
| - ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
|
| + security_info_.security_level = SecurityStateModel::NONE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = ev_cert_id;
|
| + security_info_.cert_status = net::CERT_STATUS_IS_EV;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| + security_info_.mixed_content_status =
|
| + SecurityStateModel::DISPLAYED_MIXED_CONTENT;
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| @@ -385,14 +394,15 @@ TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
|
| }
|
|
|
| TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
|
| - ssl_.cert_id = cert_id();
|
| - ssl_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
|
| - ssl_.security_bits = 81; // No error if > 80.
|
| + security_info_.security_level = SecurityStateModel::SECURE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| @@ -405,14 +415,15 @@ TEST_F(WebsiteSettingsTest, HTTPSRevocationError) {
|
| }
|
|
|
| TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
|
| - ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
|
| - ssl_.cert_id = cert_id();
|
| - ssl_.cert_status = 0;
|
| - ssl_.security_bits = -1;
|
| + security_info_.security_level = SecurityStateModel::SECURE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = -1;
|
| int status = 0;
|
| status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| - ssl_.connection_status = status;
|
| + security_info_.connection_status = status;
|
|
|
| SetDefaultUIExpectations(mock_ui());
|
| EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| @@ -424,6 +435,51 @@ TEST_F(WebsiteSettingsTest, HTTPSConnectionError) {
|
| EXPECT_EQ(base::string16(), website_settings()->organization_name());
|
| }
|
|
|
| +TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) {
|
| + security_info_.security_level = SecurityStateModel::SECURITY_POLICY_WARNING;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| + int status = 0;
|
| + status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| + status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| + security_info_.connection_status = status;
|
| +
|
| + SetDefaultUIExpectations(mock_ui());
|
| + EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| +
|
| + EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
|
| + website_settings()->site_connection_status());
|
| + EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT,
|
| + website_settings()->site_identity_status());
|
| + EXPECT_EQ(base::string16(), website_settings()->organization_name());
|
| +}
|
| +
|
| +TEST_F(WebsiteSettingsTest, HTTPSSHA1Connection) {
|
| + security_info_.security_level = SecurityStateModel::NONE;
|
| + security_info_.scheme_is_cryptographic = true;
|
| + security_info_.cert_id = cert_id();
|
| + security_info_.cert_status = 0;
|
| + security_info_.security_bits = 81; // No error if > 80.
|
| + int status = 0;
|
| + status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
|
| + status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
|
| + security_info_.connection_status = status;
|
| + security_info_.sha1_deprecation_status =
|
| + SecurityStateModel::DEPRECATED_SHA1_WARNING;
|
| +
|
| + SetDefaultUIExpectations(mock_ui());
|
| + EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
|
| +
|
| + EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
|
| + website_settings()->site_connection_status());
|
| + EXPECT_EQ(
|
| + WebsiteSettings::SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM,
|
| + website_settings()->site_identity_status());
|
| + EXPECT_EQ(base::string16(), website_settings()->organization_name());
|
| +}
|
| +
|
| #if !defined(OS_ANDROID)
|
| TEST_F(WebsiteSettingsTest, NoInfoBar) {
|
| SetDefaultUIExpectations(mock_ui());
|
|
|