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 |