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

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

Issue 1349843003: Display active mixed content as error instead of info in WebsiteSettings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: check icon id in unit tests also Created 5 years, 3 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 "base/at_exit.h" 7 #include "base/at_exit.h"
8 #include "base/message_loop/message_loop.h" 8 #include "base/message_loop/message_loop.h"
9 #include "base/strings/string16.h" 9 #include "base/strings/string16.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/content_settings/host_content_settings_map_factory.h" 11 #include "chrome/browser/content_settings/host_content_settings_map_factory.h"
12 #include "chrome/browser/infobars/infobar_service.h" 12 #include "chrome/browser/infobars/infobar_service.h"
13 #include "chrome/browser/ui/website_settings/website_settings_ui.h" 13 #include "chrome/browser/ui/website_settings/website_settings_ui.h"
14 #include "chrome/test/base/chrome_render_view_host_test_harness.h" 14 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
15 #include "chrome/test/base/testing_profile.h" 15 #include "chrome/test/base/testing_profile.h"
16 #include "components/content_settings/core/browser/host_content_settings_map.h" 16 #include "components/content_settings/core/browser/host_content_settings_map.h"
17 #include "components/content_settings/core/common/content_settings.h" 17 #include "components/content_settings/core/common/content_settings.h"
18 #include "components/content_settings/core/common/content_settings_types.h" 18 #include "components/content_settings/core/common/content_settings_types.h"
19 #include "components/infobars/core/infobar.h" 19 #include "components/infobars/core/infobar.h"
20 #include "content/public/browser/cert_store.h" 20 #include "content/public/browser/cert_store.h"
21 #include "content/public/common/ssl_status.h" 21 #include "content/public/common/ssl_status.h"
22 #include "grit/theme_resources.h"
22 #include "net/cert/cert_status_flags.h" 23 #include "net/cert/cert_status_flags.h"
23 #include "net/cert/x509_certificate.h" 24 #include "net/cert/x509_certificate.h"
24 #include "net/ssl/ssl_connection_status_flags.h" 25 #include "net/ssl/ssl_connection_status_flags.h"
25 #include "net/test/test_certificate_data.h" 26 #include "net/test/test_certificate_data.h"
26 #include "testing/gmock/include/gmock/gmock.h" 27 #include "testing/gmock/include/gmock/gmock.h"
27 #include "testing/gtest/include/gtest/gtest.h" 28 #include "testing/gtest/include/gtest/gtest.h"
28 29
29 using content::SSLStatus; 30 using content::SSLStatus;
30 using testing::_; 31 using testing::_;
31 using testing::AnyNumber; 32 using testing::AnyNumber;
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 EXPECT_CALL(*mock_ui(), SetSelectedTab( 299 EXPECT_CALL(*mock_ui(), SetSelectedTab(
299 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); 300 WebsiteSettingsUI::TAB_ID_PERMISSIONS));
300 301
301 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, 302 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED,
302 website_settings()->site_connection_status()); 303 website_settings()->site_connection_status());
303 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 304 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
304 website_settings()->site_identity_status()); 305 website_settings()->site_identity_status());
305 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 306 EXPECT_EQ(base::string16(), website_settings()->organization_name());
306 } 307 }
307 308
308 TEST_F(WebsiteSettingsTest, HTTPSMixedContent) { 309 TEST_F(WebsiteSettingsTest, HTTPSPassiveMixedContent) {
309 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 310 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
310 ssl_.cert_id = cert_id(); 311 ssl_.cert_id = cert_id();
311 ssl_.cert_status = 0; 312 ssl_.cert_status = 0;
312 ssl_.security_bits = 81; // No error if > 80. 313 ssl_.security_bits = 81; // No error if > 80.
313 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT; 314 ssl_.content_status = SSLStatus::DISPLAYED_INSECURE_CONTENT;
314 int status = 0; 315 int status = 0;
315 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); 316 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
316 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); 317 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
317 ssl_.connection_status = status; 318 ssl_.connection_status = status;
318 319
319 SetDefaultUIExpectations(mock_ui()); 320 SetDefaultUIExpectations(mock_ui());
320 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); 321 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
321 322
322 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT, 323 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_CONTENT,
323 website_settings()->site_connection_status()); 324 website_settings()->site_connection_status());
324 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, 325 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
325 website_settings()->site_identity_status()); 326 website_settings()->site_identity_status());
327 EXPECT_EQ(IDR_PAGEINFO_WARNING_MINOR,
328 WebsiteSettingsUI::GetConnectionIconID(
329 website_settings()->site_connection_status()));
326 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 330 EXPECT_EQ(base::string16(), website_settings()->organization_name());
327 } 331 }
328 332
333 TEST_F(WebsiteSettingsTest, HTTPSActiveMixedContent) {
334 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATION_BROKEN;
335 ssl_.cert_id = cert_id();
336 ssl_.cert_status = 0;
337 ssl_.security_bits = 81; // No error if > 80.
338 ssl_.content_status = SSLStatus::RAN_INSECURE_CONTENT;
339 int status = 0;
340 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1);
341 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256);
342 ssl_.connection_status = status;
343
344 SetDefaultUIExpectations(mock_ui());
345 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION));
346
347 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_MIXED_SCRIPT,
348 website_settings()->site_connection_status());
349 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT,
350 website_settings()->site_identity_status());
351 EXPECT_EQ(IDR_PAGEINFO_BAD,
352 WebsiteSettingsUI::GetConnectionIconID(
353 website_settings()->site_connection_status()));
354 EXPECT_EQ(base::string16(), website_settings()->organization_name());
355 }
356
329 TEST_F(WebsiteSettingsTest, HTTPSEVCert) { 357 TEST_F(WebsiteSettingsTest, HTTPSEVCert) {
330 scoped_refptr<net::X509Certificate> ev_cert = 358 scoped_refptr<net::X509Certificate> ev_cert =
331 net::X509Certificate::CreateFromBytes( 359 net::X509Certificate::CreateFromBytes(
332 reinterpret_cast<const char*>(google_der), 360 reinterpret_cast<const char*>(google_der),
333 sizeof(google_der)); 361 sizeof(google_der));
334 int ev_cert_id = 1; 362 int ev_cert_id = 1;
335 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly( 363 EXPECT_CALL(*cert_store(), RetrieveCert(ev_cert_id, _)).WillRepeatedly(
336 DoAll(SetArgPointee<1>(ev_cert), Return(true))); 364 DoAll(SetArgPointee<1>(ev_cert), Return(true)));
337 365
338 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED; 366 ssl_.security_style = content::SECURITY_STYLE_AUTHENTICATED;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
436 464
437 TEST_F(WebsiteSettingsTest, InternalPage) { 465 TEST_F(WebsiteSettingsTest, InternalPage) {
438 SetURL("chrome://bookmarks"); 466 SetURL("chrome://bookmarks");
439 SetDefaultUIExpectations(mock_ui()); 467 SetDefaultUIExpectations(mock_ui());
440 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE, 468 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_INTERNAL_PAGE,
441 website_settings()->site_connection_status()); 469 website_settings()->site_connection_status());
442 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE, 470 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_INTERNAL_PAGE,
443 website_settings()->site_identity_status()); 471 website_settings()->site_identity_status());
444 EXPECT_EQ(base::string16(), website_settings()->organization_name()); 472 EXPECT_EQ(base::string16(), website_settings()->organization_name());
445 } 473 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698