| OLD | NEW |
| 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" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 connection_status &= ~net::SSL_CONNECTION_CIPHERSUITE_MASK; | 67 connection_status &= ~net::SSL_CONNECTION_CIPHERSUITE_MASK; |
| 68 return cipher_suite | connection_status; | 68 return cipher_suite | connection_status; |
| 69 } | 69 } |
| 70 | 70 |
| 71 class MockWebsiteSettingsUI : public WebsiteSettingsUI { | 71 class MockWebsiteSettingsUI : public WebsiteSettingsUI { |
| 72 public: | 72 public: |
| 73 virtual ~MockWebsiteSettingsUI() {} | 73 virtual ~MockWebsiteSettingsUI() {} |
| 74 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); | 74 MOCK_METHOD1(SetCookieInfo, void(const CookieInfoList& cookie_info_list)); |
| 75 MOCK_METHOD0(SetPermissionInfoStub, void()); | 75 MOCK_METHOD0(SetPermissionInfoStub, void()); |
| 76 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); | 76 MOCK_METHOD1(SetIdentityInfo, void(const IdentityInfo& identity_info)); |
| 77 MOCK_METHOD1(SetSelectedTab, void(TabId tab_id)); | |
| 78 | 77 |
| 79 void SetPermissionInfo( | 78 void SetPermissionInfo( |
| 80 const PermissionInfoList& permission_info_list, | 79 const PermissionInfoList& permission_info_list, |
| 81 ChosenObjectInfoList chosen_object_info_list) override { | 80 ChosenObjectInfoList chosen_object_info_list) override { |
| 82 SetPermissionInfoStub(); | 81 SetPermissionInfoStub(); |
| 83 if (set_permission_info_callback_) { | 82 if (set_permission_info_callback_) { |
| 84 set_permission_info_callback_.Run(permission_info_list, | 83 set_permission_info_callback_.Run(permission_info_list, |
| 85 std::move(chosen_object_info_list)); | 84 std::move(chosen_object_info_list)); |
| 86 } | 85 } |
| 87 } | 86 } |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 219 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); | 218 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); |
| 220 | 219 |
| 221 // SetPermissionInfo() is called once initially, and then again every time | 220 // SetPermissionInfo() is called once initially, and then again every time |
| 222 // OnSitePermissionChanged() is called. | 221 // OnSitePermissionChanged() is called. |
| 223 #if !BUILDFLAG(ENABLE_PLUGINS) | 222 #if !BUILDFLAG(ENABLE_PLUGINS) |
| 224 // SetPermissionInfo for plugins didn't get called. | 223 // SetPermissionInfo for plugins didn't get called. |
| 225 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(6); | 224 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(6); |
| 226 #else | 225 #else |
| 227 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(7); | 226 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(7); |
| 228 #endif | 227 #endif |
| 229 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 230 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 231 | 228 |
| 232 // Execute code under tests. | 229 // Execute code under tests. |
| 233 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_POPUPS, | 230 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_POPUPS, |
| 234 CONTENT_SETTING_ALLOW); | 231 CONTENT_SETTING_ALLOW); |
| 235 #if BUILDFLAG(ENABLE_PLUGINS) | 232 #if BUILDFLAG(ENABLE_PLUGINS) |
| 236 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_PLUGINS, | 233 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_PLUGINS, |
| 237 CONTENT_SETTING_BLOCK); | 234 CONTENT_SETTING_BLOCK); |
| 238 #endif | 235 #endif |
| 239 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_GEOLOCATION, | 236 website_settings()->OnSitePermissionChanged(CONTENT_SETTINGS_TYPE_GEOLOCATION, |
| 240 CONTENT_SETTING_ALLOW); | 237 CONTENT_SETTING_ALLOW); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 265 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); | 262 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); |
| 266 setting = content_settings->GetContentSetting( | 263 setting = content_settings->GetContentSetting( |
| 267 url(), url(), CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string()); | 264 url(), url(), CONTENT_SETTINGS_TYPE_MEDIASTREAM_CAMERA, std::string()); |
| 268 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); | 265 EXPECT_EQ(setting, CONTENT_SETTING_ALLOW); |
| 269 } | 266 } |
| 270 | 267 |
| 271 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { | 268 TEST_F(WebsiteSettingsTest, OnSiteDataAccessed) { |
| 272 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()); | 269 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()); |
| 273 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); | 270 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); |
| 274 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); | 271 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)).Times(2); |
| 275 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 276 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 277 | 272 |
| 278 website_settings()->OnSiteDataAccessed(); | 273 website_settings()->OnSiteDataAccessed(); |
| 279 } | 274 } |
| 280 | 275 |
| 281 TEST_F(WebsiteSettingsTest, OnChosenObjectDeleted) { | 276 TEST_F(WebsiteSettingsTest, OnChosenObjectDeleted) { |
| 282 scoped_refptr<device::UsbDevice> device = | 277 scoped_refptr<device::UsbDevice> device = |
| 283 new device::MockUsbDevice(0, 0, "Google", "Gizmo", "1234567890"); | 278 new device::MockUsbDevice(0, 0, "Google", "Gizmo", "1234567890"); |
| 284 usb_service().AddDevice(device); | 279 usb_service().AddDevice(device); |
| 285 UsbChooserContext* store = UsbChooserContextFactory::GetForProfile(profile()); | 280 UsbChooserContext* store = UsbChooserContextFactory::GetForProfile(profile()); |
| 286 store->GrantDevicePermission(url(), url(), device->guid()); | 281 store->GrantDevicePermission(url(), url(), device->guid()); |
| 287 | 282 |
| 288 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); | 283 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); |
| 289 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); | 284 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); |
| 290 EXPECT_CALL(*mock_ui(), | |
| 291 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 292 | 285 |
| 293 // Access WebsiteSettings so that SetPermissionInfo is called once to populate | 286 // Access WebsiteSettings so that SetPermissionInfo is called once to populate |
| 294 // |last_chosen_object_info_|. It will be called again by | 287 // |last_chosen_object_info_|. It will be called again by |
| 295 // OnSiteChosenObjectDeleted. | 288 // OnSiteChosenObjectDeleted. |
| 296 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(2); | 289 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(2); |
| 297 website_settings(); | 290 website_settings(); |
| 298 | 291 |
| 299 ASSERT_EQ(1u, last_chosen_object_info().size()); | 292 ASSERT_EQ(1u, last_chosen_object_info().size()); |
| 300 const WebsiteSettingsUI::ChosenObjectInfo* info = | 293 const WebsiteSettingsUI::ChosenObjectInfo* info = |
| 301 last_chosen_object_info()[0].get(); | 294 last_chosen_object_info()[0].get(); |
| 302 website_settings()->OnSiteChosenObjectDeleted(info->ui_info, *info->object); | 295 website_settings()->OnSiteChosenObjectDeleted(info->ui_info, *info->object); |
| 303 | 296 |
| 304 EXPECT_FALSE(store->HasDevicePermission(url(), url(), device)); | 297 EXPECT_FALSE(store->HasDevicePermission(url(), url(), device)); |
| 305 EXPECT_EQ(0u, last_chosen_object_info().size()); | 298 EXPECT_EQ(0u, last_chosen_object_info().size()); |
| 306 } | 299 } |
| 307 | 300 |
| 308 TEST_F(WebsiteSettingsTest, Malware) { | 301 TEST_F(WebsiteSettingsTest, Malware) { |
| 309 security_info_.security_level = security_state::DANGEROUS; | 302 security_info_.security_level = security_state::DANGEROUS; |
| 310 security_info_.malicious_content_status = | 303 security_info_.malicious_content_status = |
| 311 security_state::MALICIOUS_CONTENT_STATUS_MALWARE; | 304 security_state::MALICIOUS_CONTENT_STATUS_MALWARE; |
| 312 SetDefaultUIExpectations(mock_ui()); | 305 SetDefaultUIExpectations(mock_ui()); |
| 313 EXPECT_CALL(*mock_ui(), | |
| 314 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 315 | 306 |
| 316 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, | 307 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, |
| 317 website_settings()->site_connection_status()); | 308 website_settings()->site_connection_status()); |
| 318 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE, | 309 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_MALWARE, |
| 319 website_settings()->site_identity_status()); | 310 website_settings()->site_identity_status()); |
| 320 } | 311 } |
| 321 | 312 |
| 322 TEST_F(WebsiteSettingsTest, SocialEngineering) { | 313 TEST_F(WebsiteSettingsTest, SocialEngineering) { |
| 323 security_info_.security_level = security_state::DANGEROUS; | 314 security_info_.security_level = security_state::DANGEROUS; |
| 324 security_info_.malicious_content_status = | 315 security_info_.malicious_content_status = |
| 325 security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING; | 316 security_state::MALICIOUS_CONTENT_STATUS_SOCIAL_ENGINEERING; |
| 326 SetDefaultUIExpectations(mock_ui()); | 317 SetDefaultUIExpectations(mock_ui()); |
| 327 EXPECT_CALL(*mock_ui(), | |
| 328 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 329 | 318 |
| 330 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, | 319 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, |
| 331 website_settings()->site_connection_status()); | 320 website_settings()->site_connection_status()); |
| 332 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING, | 321 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_SOCIAL_ENGINEERING, |
| 333 website_settings()->site_identity_status()); | 322 website_settings()->site_identity_status()); |
| 334 } | 323 } |
| 335 | 324 |
| 336 TEST_F(WebsiteSettingsTest, UnwantedSoftware) { | 325 TEST_F(WebsiteSettingsTest, UnwantedSoftware) { |
| 337 security_info_.security_level = security_state::DANGEROUS; | 326 security_info_.security_level = security_state::DANGEROUS; |
| 338 security_info_.malicious_content_status = | 327 security_info_.malicious_content_status = |
| 339 security_state::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE; | 328 security_state::MALICIOUS_CONTENT_STATUS_UNWANTED_SOFTWARE; |
| 340 SetDefaultUIExpectations(mock_ui()); | 329 SetDefaultUIExpectations(mock_ui()); |
| 341 EXPECT_CALL(*mock_ui(), | |
| 342 SetSelectedTab(WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 343 | 330 |
| 344 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, | 331 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, |
| 345 website_settings()->site_connection_status()); | 332 website_settings()->site_connection_status()); |
| 346 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE, | 333 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_UNWANTED_SOFTWARE, |
| 347 website_settings()->site_identity_status()); | 334 website_settings()->site_identity_status()); |
| 348 } | 335 } |
| 349 | 336 |
| 350 TEST_F(WebsiteSettingsTest, HTTPConnection) { | 337 TEST_F(WebsiteSettingsTest, HTTPConnection) { |
| 351 SetDefaultUIExpectations(mock_ui()); | 338 SetDefaultUIExpectations(mock_ui()); |
| 352 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 353 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 354 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, | 339 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_UNENCRYPTED, |
| 355 website_settings()->site_connection_status()); | 340 website_settings()->site_connection_status()); |
| 356 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT, | 341 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_NO_CERT, |
| 357 website_settings()->site_identity_status()); | 342 website_settings()->site_identity_status()); |
| 358 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 343 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 359 } | 344 } |
| 360 | 345 |
| 361 TEST_F(WebsiteSettingsTest, HTTPSConnection) { | 346 TEST_F(WebsiteSettingsTest, HTTPSConnection) { |
| 362 security_info_.security_level = security_state::SECURE; | 347 security_info_.security_level = security_state::SECURE; |
| 363 security_info_.scheme_is_cryptographic = true; | 348 security_info_.scheme_is_cryptographic = true; |
| 364 security_info_.certificate = cert(); | 349 security_info_.certificate = cert(); |
| 365 security_info_.cert_status = 0; | 350 security_info_.cert_status = 0; |
| 366 security_info_.security_bits = 81; // No error if > 80. | 351 security_info_.security_bits = 81; // No error if > 80. |
| 367 int status = 0; | 352 int status = 0; |
| 368 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 353 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 369 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 354 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 370 security_info_.connection_status = status; | 355 security_info_.connection_status = status; |
| 371 | 356 |
| 372 SetDefaultUIExpectations(mock_ui()); | 357 SetDefaultUIExpectations(mock_ui()); |
| 373 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 374 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 375 | 358 |
| 376 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, | 359 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, |
| 377 website_settings()->site_connection_status()); | 360 website_settings()->site_connection_status()); |
| 378 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, | 361 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, |
| 379 website_settings()->site_identity_status()); | 362 website_settings()->site_identity_status()); |
| 380 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 363 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 381 } | 364 } |
| 382 | 365 |
| 383 TEST_F(WebsiteSettingsTest, InsecureContent) { | 366 TEST_F(WebsiteSettingsTest, InsecureContent) { |
| 384 struct TestCase { | 367 struct TestCase { |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 501 security_info_.security_bits = 81; // No error if > 80. | 484 security_info_.security_bits = 81; // No error if > 80. |
| 502 security_info_.mixed_content_status = test.mixed_content_status; | 485 security_info_.mixed_content_status = test.mixed_content_status; |
| 503 security_info_.content_with_cert_errors_status = | 486 security_info_.content_with_cert_errors_status = |
| 504 test.content_with_cert_errors_status; | 487 test.content_with_cert_errors_status; |
| 505 int status = 0; | 488 int status = 0; |
| 506 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 489 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 507 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 490 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 508 security_info_.connection_status = status; | 491 security_info_.connection_status = status; |
| 509 | 492 |
| 510 SetDefaultUIExpectations(mock_ui()); | 493 SetDefaultUIExpectations(mock_ui()); |
| 511 EXPECT_CALL(*mock_ui(), | |
| 512 SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 513 | 494 |
| 514 EXPECT_EQ(test.expected_site_connection_status, | 495 EXPECT_EQ(test.expected_site_connection_status, |
| 515 website_settings()->site_connection_status()); | 496 website_settings()->site_connection_status()); |
| 516 EXPECT_EQ(test.expected_site_identity_status, | 497 EXPECT_EQ(test.expected_site_identity_status, |
| 517 website_settings()->site_identity_status()); | 498 website_settings()->site_identity_status()); |
| 518 EXPECT_EQ(test.expected_connection_icon_id, | 499 EXPECT_EQ(test.expected_connection_icon_id, |
| 519 WebsiteSettingsUI::GetConnectionIconID( | 500 WebsiteSettingsUI::GetConnectionIconID( |
| 520 website_settings()->site_connection_status())); | 501 website_settings()->site_connection_status())); |
| 521 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 502 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 522 } | 503 } |
| (...skipping 11 matching lines...) Expand all Loading... |
| 534 security_info_.cert_status = net::CERT_STATUS_IS_EV; | 515 security_info_.cert_status = net::CERT_STATUS_IS_EV; |
| 535 security_info_.security_bits = 81; // No error if > 80. | 516 security_info_.security_bits = 81; // No error if > 80. |
| 536 security_info_.mixed_content_status = | 517 security_info_.mixed_content_status = |
| 537 security_state::CONTENT_STATUS_DISPLAYED; | 518 security_state::CONTENT_STATUS_DISPLAYED; |
| 538 int status = 0; | 519 int status = 0; |
| 539 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 520 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 540 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 521 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 541 security_info_.connection_status = status; | 522 security_info_.connection_status = status; |
| 542 | 523 |
| 543 SetDefaultUIExpectations(mock_ui()); | 524 SetDefaultUIExpectations(mock_ui()); |
| 544 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 545 | 525 |
| 546 EXPECT_EQ( | 526 EXPECT_EQ( |
| 547 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE, | 527 WebsiteSettings::SITE_CONNECTION_STATUS_INSECURE_PASSIVE_SUBRESOURCE, |
| 548 website_settings()->site_connection_status()); | 528 website_settings()->site_connection_status()); |
| 549 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT, | 529 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_EV_CERT, |
| 550 website_settings()->site_identity_status()); | 530 website_settings()->site_identity_status()); |
| 551 EXPECT_EQ(base::UTF8ToUTF16("Google Inc"), | 531 EXPECT_EQ(base::UTF8ToUTF16("Google Inc"), |
| 552 website_settings()->organization_name()); | 532 website_settings()->organization_name()); |
| 553 } | 533 } |
| 554 | 534 |
| 555 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) { | 535 TEST_F(WebsiteSettingsTest, HTTPSRevocationError) { |
| 556 security_info_.security_level = security_state::SECURE; | 536 security_info_.security_level = security_state::SECURE; |
| 557 security_info_.scheme_is_cryptographic = true; | 537 security_info_.scheme_is_cryptographic = true; |
| 558 security_info_.certificate = cert(); | 538 security_info_.certificate = cert(); |
| 559 security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION; | 539 security_info_.cert_status = net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION; |
| 560 security_info_.security_bits = 81; // No error if > 80. | 540 security_info_.security_bits = 81; // No error if > 80. |
| 561 int status = 0; | 541 int status = 0; |
| 562 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 542 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 563 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 543 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 564 security_info_.connection_status = status; | 544 security_info_.connection_status = status; |
| 565 | 545 |
| 566 SetDefaultUIExpectations(mock_ui()); | 546 SetDefaultUIExpectations(mock_ui()); |
| 567 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 568 | 547 |
| 569 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, | 548 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, |
| 570 website_settings()->site_connection_status()); | 549 website_settings()->site_connection_status()); |
| 571 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN, | 550 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT_REVOCATION_UNKNOWN, |
| 572 website_settings()->site_identity_status()); | 551 website_settings()->site_identity_status()); |
| 573 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 552 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 574 } | 553 } |
| 575 | 554 |
| 576 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) { | 555 TEST_F(WebsiteSettingsTest, HTTPSConnectionError) { |
| 577 security_info_.security_level = security_state::SECURE; | 556 security_info_.security_level = security_state::SECURE; |
| 578 security_info_.scheme_is_cryptographic = true; | 557 security_info_.scheme_is_cryptographic = true; |
| 579 security_info_.certificate = cert(); | 558 security_info_.certificate = cert(); |
| 580 security_info_.cert_status = 0; | 559 security_info_.cert_status = 0; |
| 581 security_info_.security_bits = -1; | 560 security_info_.security_bits = -1; |
| 582 int status = 0; | 561 int status = 0; |
| 583 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 562 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 584 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 563 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 585 security_info_.connection_status = status; | 564 security_info_.connection_status = status; |
| 586 | 565 |
| 587 SetDefaultUIExpectations(mock_ui()); | 566 SetDefaultUIExpectations(mock_ui()); |
| 588 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 589 | 567 |
| 590 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, | 568 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED_ERROR, |
| 591 website_settings()->site_connection_status()); | 569 website_settings()->site_connection_status()); |
| 592 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, | 570 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_CERT, |
| 593 website_settings()->site_identity_status()); | 571 website_settings()->site_identity_status()); |
| 594 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 572 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 595 } | 573 } |
| 596 | 574 |
| 597 TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) { | 575 TEST_F(WebsiteSettingsTest, HTTPSPolicyCertConnection) { |
| 598 security_info_.security_level = | 576 security_info_.security_level = |
| 599 security_state::SECURE_WITH_POLICY_INSTALLED_CERT; | 577 security_state::SECURE_WITH_POLICY_INSTALLED_CERT; |
| 600 security_info_.scheme_is_cryptographic = true; | 578 security_info_.scheme_is_cryptographic = true; |
| 601 security_info_.certificate = cert(); | 579 security_info_.certificate = cert(); |
| 602 security_info_.cert_status = 0; | 580 security_info_.cert_status = 0; |
| 603 security_info_.security_bits = 81; // No error if > 80. | 581 security_info_.security_bits = 81; // No error if > 80. |
| 604 int status = 0; | 582 int status = 0; |
| 605 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 583 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 606 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 584 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 607 security_info_.connection_status = status; | 585 security_info_.connection_status = status; |
| 608 | 586 |
| 609 SetDefaultUIExpectations(mock_ui()); | 587 SetDefaultUIExpectations(mock_ui()); |
| 610 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 611 | 588 |
| 612 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, | 589 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, |
| 613 website_settings()->site_connection_status()); | 590 website_settings()->site_connection_status()); |
| 614 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT, | 591 EXPECT_EQ(WebsiteSettings::SITE_IDENTITY_STATUS_ADMIN_PROVIDED_CERT, |
| 615 website_settings()->site_identity_status()); | 592 website_settings()->site_identity_status()); |
| 616 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 593 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 617 } | 594 } |
| 618 | 595 |
| 619 TEST_F(WebsiteSettingsTest, HTTPSSHA1Minor) { | 596 TEST_F(WebsiteSettingsTest, HTTPSSHA1Minor) { |
| 620 security_info_.security_level = security_state::NONE; | 597 security_info_.security_level = security_state::NONE; |
| 621 security_info_.scheme_is_cryptographic = true; | 598 security_info_.scheme_is_cryptographic = true; |
| 622 security_info_.certificate = cert(); | 599 security_info_.certificate = cert(); |
| 623 security_info_.cert_status = 0; | 600 security_info_.cert_status = 0; |
| 624 security_info_.security_bits = 81; // No error if > 80. | 601 security_info_.security_bits = 81; // No error if > 80. |
| 625 int status = 0; | 602 int status = 0; |
| 626 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 603 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 627 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 604 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 628 security_info_.connection_status = status; | 605 security_info_.connection_status = status; |
| 629 security_info_.sha1_deprecation_status = | 606 security_info_.sha1_deprecation_status = |
| 630 security_state::DEPRECATED_SHA1_MINOR; | 607 security_state::DEPRECATED_SHA1_MINOR; |
| 631 | 608 |
| 632 SetDefaultUIExpectations(mock_ui()); | 609 SetDefaultUIExpectations(mock_ui()); |
| 633 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 634 | 610 |
| 635 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, | 611 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, |
| 636 website_settings()->site_connection_status()); | 612 website_settings()->site_connection_status()); |
| 637 EXPECT_EQ(WebsiteSettings:: | 613 EXPECT_EQ(WebsiteSettings:: |
| 638 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MINOR, | 614 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MINOR, |
| 639 website_settings()->site_identity_status()); | 615 website_settings()->site_identity_status()); |
| 640 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 616 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 641 EXPECT_EQ(IDR_PAGEINFO_WARNING_MINOR, | 617 EXPECT_EQ(IDR_PAGEINFO_WARNING_MINOR, |
| 642 WebsiteSettingsUI::GetIdentityIconID( | 618 WebsiteSettingsUI::GetIdentityIconID( |
| 643 website_settings()->site_identity_status())); | 619 website_settings()->site_identity_status())); |
| 644 } | 620 } |
| 645 | 621 |
| 646 TEST_F(WebsiteSettingsTest, HTTPSSHA1Major) { | 622 TEST_F(WebsiteSettingsTest, HTTPSSHA1Major) { |
| 647 security_info_.security_level = security_state::NONE; | 623 security_info_.security_level = security_state::NONE; |
| 648 security_info_.scheme_is_cryptographic = true; | 624 security_info_.scheme_is_cryptographic = true; |
| 649 security_info_.certificate = cert(); | 625 security_info_.certificate = cert(); |
| 650 security_info_.cert_status = 0; | 626 security_info_.cert_status = 0; |
| 651 security_info_.security_bits = 81; // No error if > 80. | 627 security_info_.security_bits = 81; // No error if > 80. |
| 652 int status = 0; | 628 int status = 0; |
| 653 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); | 629 status = SetSSLVersion(status, net::SSL_CONNECTION_VERSION_TLS1); |
| 654 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); | 630 status = SetSSLCipherSuite(status, CR_TLS_RSA_WITH_AES_256_CBC_SHA256); |
| 655 security_info_.connection_status = status; | 631 security_info_.connection_status = status; |
| 656 security_info_.sha1_deprecation_status = | 632 security_info_.sha1_deprecation_status = |
| 657 security_state::DEPRECATED_SHA1_MAJOR; | 633 security_state::DEPRECATED_SHA1_MAJOR; |
| 658 | 634 |
| 659 SetDefaultUIExpectations(mock_ui()); | 635 SetDefaultUIExpectations(mock_ui()); |
| 660 EXPECT_CALL(*mock_ui(), SetSelectedTab(WebsiteSettingsUI::TAB_ID_CONNECTION)); | |
| 661 | 636 |
| 662 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, | 637 EXPECT_EQ(WebsiteSettings::SITE_CONNECTION_STATUS_ENCRYPTED, |
| 663 website_settings()->site_connection_status()); | 638 website_settings()->site_connection_status()); |
| 664 EXPECT_EQ(WebsiteSettings:: | 639 EXPECT_EQ(WebsiteSettings:: |
| 665 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR, | 640 SITE_IDENTITY_STATUS_DEPRECATED_SIGNATURE_ALGORITHM_MAJOR, |
| 666 website_settings()->site_identity_status()); | 641 website_settings()->site_identity_status()); |
| 667 EXPECT_EQ(base::string16(), website_settings()->organization_name()); | 642 EXPECT_EQ(base::string16(), website_settings()->organization_name()); |
| 668 EXPECT_EQ(IDR_PAGEINFO_BAD, | 643 EXPECT_EQ(IDR_PAGEINFO_BAD, |
| 669 WebsiteSettingsUI::GetIdentityIconID( | 644 WebsiteSettingsUI::GetIdentityIconID( |
| 670 website_settings()->site_identity_status())); | 645 website_settings()->site_identity_status())); |
| 671 } | 646 } |
| 672 | 647 |
| 673 #if !defined(OS_ANDROID) | 648 #if !defined(OS_ANDROID) |
| 674 TEST_F(WebsiteSettingsTest, NoInfoBar) { | 649 TEST_F(WebsiteSettingsTest, NoInfoBar) { |
| 675 SetDefaultUIExpectations(mock_ui()); | 650 SetDefaultUIExpectations(mock_ui()); |
| 676 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 677 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 678 EXPECT_EQ(0u, infobar_service()->infobar_count()); | 651 EXPECT_EQ(0u, infobar_service()->infobar_count()); |
| 679 website_settings()->OnUIClosing(); | 652 website_settings()->OnUIClosing(); |
| 680 EXPECT_EQ(0u, infobar_service()->infobar_count()); | 653 EXPECT_EQ(0u, infobar_service()->infobar_count()); |
| 681 } | 654 } |
| 682 | 655 |
| 683 TEST_F(WebsiteSettingsTest, ShowInfoBar) { | 656 TEST_F(WebsiteSettingsTest, ShowInfoBar) { |
| 684 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); | 657 EXPECT_CALL(*mock_ui(), SetIdentityInfo(_)); |
| 685 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); | 658 EXPECT_CALL(*mock_ui(), SetCookieInfo(_)); |
| 686 | 659 |
| 687 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(2); | 660 EXPECT_CALL(*mock_ui(), SetPermissionInfoStub()).Times(2); |
| 688 | 661 |
| 689 EXPECT_CALL(*mock_ui(), SetSelectedTab( | |
| 690 WebsiteSettingsUI::TAB_ID_PERMISSIONS)); | |
| 691 EXPECT_EQ(0u, infobar_service()->infobar_count()); | 662 EXPECT_EQ(0u, infobar_service()->infobar_count()); |
| 692 website_settings()->OnSitePermissionChanged( | 663 website_settings()->OnSitePermissionChanged( |
| 693 CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW); | 664 CONTENT_SETTINGS_TYPE_GEOLOCATION, CONTENT_SETTING_ALLOW); |
| 694 website_settings()->OnUIClosing(); | 665 website_settings()->OnUIClosing(); |
| 695 ASSERT_EQ(1u, infobar_service()->infobar_count()); | 666 ASSERT_EQ(1u, infobar_service()->infobar_count()); |
| 696 | 667 |
| 697 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); | 668 infobar_service()->RemoveInfoBar(infobar_service()->infobar_at(0)); |
| 698 } | 669 } |
| 699 #endif | 670 #endif |
| 700 | 671 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 755 security_info_.security_level = test.security_level; | 726 security_info_.security_level = test.security_level; |
| 756 ResetMockUI(); | 727 ResetMockUI(); |
| 757 ClearWebsiteSettings(); | 728 ClearWebsiteSettings(); |
| 758 SetDefaultUIExpectations(mock_ui()); | 729 SetDefaultUIExpectations(mock_ui()); |
| 759 | 730 |
| 760 histograms.ExpectTotalCount(kGenericHistogram, 0); | 731 histograms.ExpectTotalCount(kGenericHistogram, 0); |
| 761 histograms.ExpectTotalCount(test.histogram_name, 0); | 732 histograms.ExpectTotalCount(test.histogram_name, 0); |
| 762 | 733 |
| 763 website_settings()->RecordWebsiteSettingsAction( | 734 website_settings()->RecordWebsiteSettingsAction( |
| 764 WebsiteSettings::WebsiteSettingsAction:: | 735 WebsiteSettings::WebsiteSettingsAction:: |
| 765 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED); | 736 WEBSITE_SETTINGS_OPENED); |
| 766 | 737 |
| 767 // RecordWebsiteSettingsAction() is called during WebsiteSettings | 738 // RecordWebsiteSettingsAction() is called during WebsiteSettings |
| 768 // creation in addition to the explicit RecordWebsiteSettingsAction() | 739 // creation in addition to the explicit RecordWebsiteSettingsAction() |
| 769 // call, so it is called twice in total. | 740 // call, so it is called twice in total. |
| 770 histograms.ExpectTotalCount(kGenericHistogram, 2); | 741 histograms.ExpectTotalCount(kGenericHistogram, 2); |
| 771 histograms.ExpectBucketCount( | 742 histograms.ExpectBucketCount( |
| 772 kGenericHistogram, | 743 kGenericHistogram, |
| 773 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1); | 744 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 2); |
| 774 histograms.ExpectBucketCount(kGenericHistogram, | |
| 775 WebsiteSettings::WebsiteSettingsAction:: | |
| 776 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED, | |
| 777 1); | |
| 778 | 745 |
| 779 histograms.ExpectTotalCount(test.histogram_name, 2); | 746 histograms.ExpectTotalCount(test.histogram_name, 2); |
| 780 histograms.ExpectBucketCount( | 747 histograms.ExpectBucketCount( |
| 781 test.histogram_name, | 748 test.histogram_name, |
| 782 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 1); | 749 WebsiteSettings::WebsiteSettingsAction::WEBSITE_SETTINGS_OPENED, 2); |
| 783 histograms.ExpectBucketCount(test.histogram_name, | |
| 784 WebsiteSettings::WebsiteSettingsAction:: | |
| 785 WEBSITE_SETTINGS_PERMISSIONS_TAB_SELECTED, | |
| 786 1); | |
| 787 } | 750 } |
| 788 } | 751 } |
| OLD | NEW |