| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/passwords/manage_passwords_state.h" | 5 #include "chrome/browser/ui/passwords/manage_passwords_state.h" |
| 6 | 6 |
| 7 #include "base/strings/utf_string_conversions.h" | 7 #include "base/strings/utf_string_conversions.h" |
| 8 #include "components/password_manager/content/common/credential_manager_types.h" | 8 #include "components/password_manager/content/common/credential_manager_types.h" |
| 9 #include "components/password_manager/core/browser/password_form_manager.h" | 9 #include "components/password_manager/core/browser/password_form_manager.h" |
| 10 #include "components/password_manager/core/browser/stub_password_manager_client.
h" | 10 #include "components/password_manager/core/browser/stub_password_manager_client.
h" |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 test_local_form(), | 246 test_local_form(), |
| 247 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); | 247 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); |
| 248 EXPECT_CALL(*this, OnChooseCredential(_)) | 248 EXPECT_CALL(*this, OnChooseCredential(_)) |
| 249 .WillOnce(testing::SaveArg<0>(&credential_info)); | 249 .WillOnce(testing::SaveArg<0>(&credential_info)); |
| 250 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 250 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
| 251 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 251 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
| 252 credential_info.type); | 252 credential_info.type); |
| 253 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); | 253 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); |
| 254 EXPECT_THAT(passwords_data().GetCurrentForms(), | 254 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 255 ElementsAre(Pointee(test_local_form()))); | 255 ElementsAre(Pointee(test_local_form()))); |
| 256 EXPECT_THAT(passwords_data().federated_credentials_forms(), | 256 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 257 ElementsAre(Pointee(test_federated_form()))); | |
| 258 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 257 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 259 EXPECT_EQ(origin, passwords_data().origin()); | 258 EXPECT_EQ(origin, passwords_data().origin()); |
| 260 TestAllUpdates(); | 259 TestAllUpdates(); |
| 261 } | 260 } |
| 262 | 261 |
| 263 TEST_F(ManagePasswordsStateTest, AutoSignin) { | 262 TEST_F(ManagePasswordsStateTest, AutoSignin) { |
| 264 ScopedVector<autofill::PasswordForm> local_credentials; | 263 ScopedVector<autofill::PasswordForm> local_credentials; |
| 265 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 264 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
| 266 passwords_data().OnAutoSignin(local_credentials.Pass()); | 265 passwords_data().OnAutoSignin(local_credentials.Pass()); |
| 267 EXPECT_THAT(passwords_data().GetCurrentForms(), | 266 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 347 passwords_data().OnPasswordAutofilled(password_form_map); | 346 passwords_data().OnPasswordAutofilled(password_form_map); |
| 348 | 347 |
| 349 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); | 348 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); |
| 350 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 349 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 351 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); | 350 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); |
| 352 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); | 351 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); |
| 353 EXPECT_FALSE(passwords_data().form_manager()); | 352 EXPECT_FALSE(passwords_data().form_manager()); |
| 354 } | 353 } |
| 355 | 354 |
| 356 TEST_F(ManagePasswordsStateTest, BlacklistBlockedAutofill) { | 355 TEST_F(ManagePasswordsStateTest, BlacklistBlockedAutofill) { |
| 357 test_local_form().blacklisted_by_user = true; | 356 autofill::PasswordForm blacklisted; |
| 357 blacklisted.blacklisted_by_user = true; |
| 358 blacklisted.origin = GURL("http://example.com/bad"); |
| 358 autofill::PasswordFormMap password_form_map; | 359 autofill::PasswordFormMap password_form_map; |
| 360 password_form_map[blacklisted.username_value] = &blacklisted; |
| 359 password_form_map[test_local_form().username_value] = &test_local_form(); | 361 password_form_map[test_local_form().username_value] = &test_local_form(); |
| 360 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 362 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
| 361 | 363 |
| 362 EXPECT_THAT(passwords_data().GetCurrentForms(), | 364 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 363 ElementsAre(Pointee(test_local_form()))); | 365 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
| 364 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 366 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 365 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 367 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 366 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 368 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
| 367 | 369 |
| 368 // |passwords_data| should hold a separate copy of test_local_form(). | 370 // |passwords_data| should hold a separate copy of test_local_form(). |
| 369 EXPECT_THAT(passwords_data().GetCurrentForms(), | 371 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 370 Not(Contains(&test_local_form()))); | 372 Not(Contains(&test_local_form()))); |
| 371 TestAllUpdates(); | 373 TestAllUpdates(); |
| 372 } | 374 } |
| 373 | 375 |
| 374 TEST_F(ManagePasswordsStateTest, Unblacklist) { | 376 TEST_F(ManagePasswordsStateTest, Unblacklist) { |
| 377 autofill::PasswordForm blacklisted; |
| 378 blacklisted.blacklisted_by_user = true; |
| 379 blacklisted.origin = test_local_form().origin; |
| 375 autofill::PasswordFormMap password_form_map; | 380 autofill::PasswordFormMap password_form_map; |
| 376 password_form_map[test_local_form().username_value] = &test_local_form(); | 381 password_form_map[blacklisted.username_value] = &blacklisted; |
| 377 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 382 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
| 378 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 383 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 379 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); | 384 passwords_data().TransitionToState(password_manager::ui::MANAGE_STATE); |
| 380 | 385 |
| 381 EXPECT_THAT(passwords_data().GetCurrentForms(), | 386 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 382 ElementsAre(Pointee(test_local_form()))); | 387 ElementsAre(Pointee(blacklisted))); |
| 383 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 388 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 384 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 389 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 385 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 390 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
| 386 TestAllUpdates(); | 391 TestAllUpdates(); |
| 387 } | 392 } |
| 388 | 393 |
| 389 TEST_F(ManagePasswordsStateTest, OnInactive) { | 394 TEST_F(ManagePasswordsStateTest, OnInactive) { |
| 390 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( | 395 scoped_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 391 CreateFormManager()); | 396 CreateFormManager()); |
| 392 test_form_manager->ProvisionallySave( | 397 test_form_manager->ProvisionallySave( |
| 393 test_submitted_form(), | 398 test_submitted_form(), |
| 394 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 399 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 395 passwords_data().OnPendingPassword(test_form_manager.Pass()); | 400 passwords_data().OnPendingPassword(test_form_manager.Pass()); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 415 passwords_data().state()); | 420 passwords_data().state()); |
| 416 | 421 |
| 417 // Process the blacklisted form. | 422 // Process the blacklisted form. |
| 418 autofill::PasswordForm blacklisted = test_local_form(); | 423 autofill::PasswordForm blacklisted = test_local_form(); |
| 419 blacklisted.blacklisted_by_user = true; | 424 blacklisted.blacklisted_by_user = true; |
| 420 blacklisted.username_value = base::string16(); | 425 blacklisted.username_value = base::string16(); |
| 421 password_manager::PasswordStoreChangeList list; | 426 password_manager::PasswordStoreChangeList list; |
| 422 list.push_back(password_manager::PasswordStoreChange( | 427 list.push_back(password_manager::PasswordStoreChange( |
| 423 password_manager::PasswordStoreChange::ADD, blacklisted)); | 428 password_manager::PasswordStoreChange::ADD, blacklisted)); |
| 424 passwords_data().ProcessLoginsChanged(list); | 429 passwords_data().ProcessLoginsChanged(list); |
| 430 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 431 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
| 425 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 432 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 426 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 433 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 427 | 434 |
| 428 // Delete the blacklisted form. | 435 // Delete the blacklisted form. |
| 429 list[0] = password_manager::PasswordStoreChange( | 436 list[0] = password_manager::PasswordStoreChange( |
| 430 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 437 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
| 431 passwords_data().ProcessLoginsChanged(list); | 438 passwords_data().ProcessLoginsChanged(list); |
| 432 EXPECT_THAT(passwords_data().GetCurrentForms(), | 439 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 433 ElementsAre(Pointee(test_local_form()))); | 440 ElementsAre(Pointee(test_local_form()))); |
| 434 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 441 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 457 blacklisted.username_value = base::string16(); | 464 blacklisted.username_value = base::string16(); |
| 458 password_manager::PasswordStoreChangeList list; | 465 password_manager::PasswordStoreChangeList list; |
| 459 list.push_back(password_manager::PasswordStoreChange( | 466 list.push_back(password_manager::PasswordStoreChange( |
| 460 password_manager::PasswordStoreChange::ADD, blacklisted)); | 467 password_manager::PasswordStoreChange::ADD, blacklisted)); |
| 461 password_manager::CredentialInfo credential_info( | 468 password_manager::CredentialInfo credential_info( |
| 462 test_local_form(), | 469 test_local_form(), |
| 463 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); | 470 password_manager::CredentialType::CREDENTIAL_TYPE_LOCAL); |
| 464 EXPECT_CALL(*this, OnChooseCredential(_)) | 471 EXPECT_CALL(*this, OnChooseCredential(_)) |
| 465 .WillOnce(testing::SaveArg<0>(&credential_info)); | 472 .WillOnce(testing::SaveArg<0>(&credential_info)); |
| 466 passwords_data().ProcessLoginsChanged(list); | 473 passwords_data().ProcessLoginsChanged(list); |
| 474 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 475 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
| 467 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 476 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 468 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 477 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 469 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, | 478 EXPECT_EQ(password_manager::CredentialType::CREDENTIAL_TYPE_EMPTY, |
| 470 credential_info.type); | 479 credential_info.type); |
| 471 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); | 480 EXPECT_TRUE(passwords_data().credentials_callback().is_null()); |
| 472 | 481 |
| 473 // Delete the blacklisted form. | 482 // Delete the blacklisted form. |
| 474 list[0] = password_manager::PasswordStoreChange( | 483 list[0] = password_manager::PasswordStoreChange( |
| 475 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 484 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
| 476 passwords_data().ProcessLoginsChanged(list); | 485 passwords_data().ProcessLoginsChanged(list); |
| 477 EXPECT_THAT(passwords_data().GetCurrentForms(), | 486 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 478 ElementsAre(Pointee(test_local_form()))); | 487 ElementsAre(Pointee(test_local_form()))); |
| 479 EXPECT_THAT(passwords_data().federated_credentials_forms(), | 488 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 480 ElementsAre(Pointee(test_federated_form()))); | |
| 481 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 489 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 482 EXPECT_EQ(origin, passwords_data().origin()); | 490 EXPECT_EQ(origin, passwords_data().origin()); |
| 483 } | 491 } |
| 484 | 492 |
| 485 TEST_F(ManagePasswordsStateTest, AutoSigninToBlacklisted) { | 493 TEST_F(ManagePasswordsStateTest, AutoSigninToBlacklisted) { |
| 486 ScopedVector<autofill::PasswordForm> local_credentials; | 494 ScopedVector<autofill::PasswordForm> local_credentials; |
| 487 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); | 495 local_credentials.push_back(new autofill::PasswordForm(test_local_form())); |
| 488 passwords_data().OnAutoSignin(local_credentials.Pass()); | 496 passwords_data().OnAutoSignin(local_credentials.Pass()); |
| 489 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); | 497 EXPECT_EQ(password_manager::ui::AUTO_SIGNIN_STATE, passwords_data().state()); |
| 490 | 498 |
| 491 // Process the blacklisted form. | 499 // Process the blacklisted form. |
| 492 autofill::PasswordForm blacklisted = test_local_form(); | 500 autofill::PasswordForm blacklisted = test_local_form(); |
| 493 blacklisted.blacklisted_by_user = true; | 501 blacklisted.blacklisted_by_user = true; |
| 494 blacklisted.username_value = base::string16(); | 502 blacklisted.username_value = base::string16(); |
| 495 password_manager::PasswordStoreChange change( | 503 password_manager::PasswordStoreChange change( |
| 496 password_manager::PasswordStoreChange::ADD, blacklisted); | 504 password_manager::PasswordStoreChange::ADD, blacklisted); |
| 497 password_manager::PasswordStoreChangeList list(1, change); | 505 password_manager::PasswordStoreChangeList list(1, change); |
| 498 passwords_data().ProcessLoginsChanged(list); | 506 passwords_data().ProcessLoginsChanged(list); |
| 507 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 508 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
| 499 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 509 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 500 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 510 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 501 | 511 |
| 502 // Delete the blacklisted form. | 512 // Delete the blacklisted form. |
| 503 list[0] = password_manager::PasswordStoreChange( | 513 list[0] = password_manager::PasswordStoreChange( |
| 504 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 514 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
| 505 passwords_data().ProcessLoginsChanged(list); | 515 passwords_data().ProcessLoginsChanged(list); |
| 506 EXPECT_THAT(passwords_data().GetCurrentForms(), | 516 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 507 ElementsAre(Pointee(test_local_form()))); | 517 ElementsAre(Pointee(test_local_form()))); |
| 508 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 518 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 520 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); | 530 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); |
| 521 | 531 |
| 522 // Process the blacklisted form. | 532 // Process the blacklisted form. |
| 523 autofill::PasswordForm blacklisted = test_local_form(); | 533 autofill::PasswordForm blacklisted = test_local_form(); |
| 524 blacklisted.blacklisted_by_user = true; | 534 blacklisted.blacklisted_by_user = true; |
| 525 blacklisted.username_value = base::string16(); | 535 blacklisted.username_value = base::string16(); |
| 526 password_manager::PasswordStoreChange change( | 536 password_manager::PasswordStoreChange change( |
| 527 password_manager::PasswordStoreChange::ADD, blacklisted); | 537 password_manager::PasswordStoreChange::ADD, blacklisted); |
| 528 password_manager::PasswordStoreChangeList list(1, change); | 538 password_manager::PasswordStoreChangeList list(1, change); |
| 529 passwords_data().ProcessLoginsChanged(list); | 539 passwords_data().ProcessLoginsChanged(list); |
| 540 EXPECT_EQ(*passwords_data().GetCurrentForms()[0], blacklisted); |
| 530 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 541 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 531 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 542 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 532 | 543 |
| 533 // Delete the blacklisted form. | 544 // Delete the blacklisted form. |
| 534 list[0] = password_manager::PasswordStoreChange( | 545 list[0] = password_manager::PasswordStoreChange( |
| 535 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 546 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
| 536 passwords_data().ProcessLoginsChanged(list); | 547 passwords_data().ProcessLoginsChanged(list); |
| 537 EXPECT_THAT(passwords_data().GetCurrentForms(), | 548 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 538 UnorderedElementsAre(Pointee(test_local_form()), | 549 UnorderedElementsAre(Pointee(test_local_form()), |
| 539 Pointee(test_submitted_form()))); | 550 Pointee(test_submitted_form()))); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 550 | 561 |
| 551 // Process the blacklisted form. | 562 // Process the blacklisted form. |
| 552 autofill::PasswordForm blacklisted = test_local_form(); | 563 autofill::PasswordForm blacklisted = test_local_form(); |
| 553 blacklisted.blacklisted_by_user = true; | 564 blacklisted.blacklisted_by_user = true; |
| 554 blacklisted.username_value = base::string16(); | 565 blacklisted.username_value = base::string16(); |
| 555 password_manager::PasswordStoreChange change( | 566 password_manager::PasswordStoreChange change( |
| 556 password_manager::PasswordStoreChange::ADD, blacklisted); | 567 password_manager::PasswordStoreChange::ADD, blacklisted); |
| 557 password_manager::PasswordStoreChangeList list(1, change); | 568 password_manager::PasswordStoreChangeList list(1, change); |
| 558 passwords_data().ProcessLoginsChanged(list); | 569 passwords_data().ProcessLoginsChanged(list); |
| 559 EXPECT_THAT(passwords_data().GetCurrentForms(), | 570 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 560 UnorderedElementsAre(Pointee(test_local_form()), | 571 ElementsAre(Pointee(blacklisted), Pointee(test_local_form()))); |
| 561 Pointee(blacklisted))); | |
| 562 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 572 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 563 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 573 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 564 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 574 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 565 | 575 |
| 566 // Delete the blacklisted form. | 576 // Delete the blacklisted form. |
| 567 list[0] = password_manager::PasswordStoreChange( | 577 list[0] = password_manager::PasswordStoreChange( |
| 568 password_manager::PasswordStoreChange::REMOVE, blacklisted); | 578 password_manager::PasswordStoreChange::REMOVE, blacklisted); |
| 569 passwords_data().ProcessLoginsChanged(list); | 579 passwords_data().ProcessLoginsChanged(list); |
| 570 EXPECT_THAT(passwords_data().GetCurrentForms(), | 580 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 571 ElementsAre(Pointee(test_local_form()))); | 581 ElementsAre(Pointee(test_local_form()))); |
| 572 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 582 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 573 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 583 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 574 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 584 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); |
| 575 } | 585 } |
| 576 | 586 |
| 577 TEST_F(ManagePasswordsStateTest, BlacklistedToAutofilled) { | 587 TEST_F(ManagePasswordsStateTest, BlacklistedToAutofilled) { |
| 578 autofill::PasswordFormMap password_form_map; | 588 autofill::PasswordFormMap password_form_map; |
| 579 password_form_map[test_local_form().username_value] = &test_local_form(); | 589 password_form_map[test_local_form().username_value] = &test_local_form(); |
| 590 autofill::PasswordForm blacklisted; |
| 591 blacklisted.blacklisted_by_user = true; |
| 592 blacklisted.origin = GURL("http://example.com/bad"); |
| 593 password_form_map[blacklisted.username_value] = &blacklisted; |
| 580 passwords_data().OnBlacklistBlockedAutofill(password_form_map); | 594 passwords_data().OnBlacklistBlockedAutofill(password_form_map); |
| 581 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); | 595 EXPECT_EQ(password_manager::ui::BLACKLIST_STATE, passwords_data().state()); |
| 582 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 596 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
| 583 | 597 |
| 584 // Delete the blacklisted form. | 598 // Delete the blacklisted form. |
| 585 autofill::PasswordForm blacklisted = test_local_form(); | |
| 586 blacklisted.blacklisted_by_user = true; | |
| 587 blacklisted.username_value = base::string16(); | |
| 588 password_manager::PasswordStoreChangeList list; | 599 password_manager::PasswordStoreChangeList list; |
| 589 list.push_back(password_manager::PasswordStoreChange( | 600 list.push_back(password_manager::PasswordStoreChange( |
| 590 password_manager::PasswordStoreChange::REMOVE, blacklisted)); | 601 password_manager::PasswordStoreChange::REMOVE, blacklisted)); |
| 591 passwords_data().ProcessLoginsChanged(list); | 602 passwords_data().ProcessLoginsChanged(list); |
| 592 EXPECT_THAT(passwords_data().GetCurrentForms(), | 603 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 593 ElementsAre(Pointee(test_local_form()))); | 604 ElementsAre(Pointee(test_local_form()))); |
| 594 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); | 605 EXPECT_THAT(passwords_data().federated_credentials_forms(), IsEmpty()); |
| 595 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 606 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 596 EXPECT_EQ(test_local_form().origin, passwords_data().origin()); | 607 EXPECT_EQ(blacklisted.origin, passwords_data().origin()); |
| 597 } | 608 } |
| 598 | 609 |
| 599 } // namespace | 610 } // namespace |
| OLD | NEW |