| 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 <iterator> | 7 #include <iterator> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 424 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 424 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 425 | 425 |
| 426 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); | 426 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); |
| 427 EXPECT_THAT(passwords_data().GetCurrentForms(), | 427 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 428 UnorderedElementsAre(Pointee(test_submitted_form()), | 428 UnorderedElementsAre(Pointee(test_submitted_form()), |
| 429 Pointee(test_local_federated_form()))); | 429 Pointee(test_local_federated_form()))); |
| 430 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); | 430 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); |
| 431 } | 431 } |
| 432 | 432 |
| 433 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) { | 433 TEST_F(ManagePasswordsStateTest, PasswordAutofilled) { |
| 434 autofill::PasswordFormMap password_form_map; | 434 std::map<base::string16, const autofill::PasswordForm*> password_form_map; |
| 435 password_form_map.insert(std::make_pair( | 435 password_form_map.insert( |
| 436 test_local_form().username_value, | 436 std::make_pair(test_local_form().username_value, &test_local_form())); |
| 437 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); | |
| 438 GURL origin("https://example.com"); | 437 GURL origin("https://example.com"); |
| 439 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); | 438 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); |
| 440 | 439 |
| 441 EXPECT_THAT(passwords_data().GetCurrentForms(), | 440 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 442 ElementsAre(Pointee(test_local_form()))); | 441 ElementsAre(Pointee(test_local_form()))); |
| 443 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); | 442 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); |
| 444 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 443 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 445 EXPECT_EQ(origin, passwords_data().origin()); | 444 EXPECT_EQ(origin, passwords_data().origin()); |
| 446 | 445 |
| 447 TestAllUpdates(); | 446 TestAllUpdates(); |
| 448 } | 447 } |
| 449 | 448 |
| 450 TEST_F(ManagePasswordsStateTest, PasswordAutofillWithSavedFederations) { | 449 TEST_F(ManagePasswordsStateTest, PasswordAutofillWithSavedFederations) { |
| 451 autofill::PasswordFormMap password_form_map; | 450 std::map<base::string16, const autofill::PasswordForm*> password_form_map; |
| 452 password_form_map.insert(std::make_pair( | 451 password_form_map.insert( |
| 453 test_local_form().username_value, | 452 std::make_pair(test_local_form().username_value, &test_local_form())); |
| 454 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); | |
| 455 GURL origin("https://example.com"); | 453 GURL origin("https://example.com"); |
| 456 std::vector<std::unique_ptr<autofill::PasswordForm>> federated; | 454 std::vector<const autofill::PasswordForm*> federated; |
| 457 federated.push_back(base::WrapUnique( | 455 federated.push_back(&test_local_federated_form()); |
| 458 new autofill::PasswordForm(test_local_federated_form()))); | |
| 459 passwords_data().OnPasswordAutofilled(password_form_map, origin, &federated); | 456 passwords_data().OnPasswordAutofilled(password_form_map, origin, &federated); |
| 460 | 457 |
| 461 // |federated| represents the locally saved federations. These are bundled in | 458 // |federated| represents the locally saved federations. These are bundled in |
| 462 // the "current forms". | 459 // the "current forms". |
| 463 EXPECT_THAT(passwords_data().GetCurrentForms(), | 460 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 464 UnorderedElementsAre(Pointee(test_local_form()), | 461 UnorderedElementsAre(Pointee(test_local_form()), |
| 465 Pointee(test_local_federated_form()))); | 462 Pointee(test_local_federated_form()))); |
| 466 // |federated_credentials_forms()| do not refer to the saved federations. | 463 // |federated_credentials_forms()| do not refer to the saved federations. |
| 467 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); | 464 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); |
| 468 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 465 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 469 } | 466 } |
| 470 | 467 |
| 471 TEST_F(ManagePasswordsStateTest, ActiveOnMixedPSLAndNonPSLMatched) { | 468 TEST_F(ManagePasswordsStateTest, ActiveOnMixedPSLAndNonPSLMatched) { |
| 472 autofill::PasswordFormMap password_form_map; | 469 std::map<base::string16, const autofill::PasswordForm*> password_form_map; |
| 473 password_form_map.insert(std::make_pair( | 470 password_form_map.insert( |
| 474 test_local_form().username_value, | 471 std::make_pair(test_local_form().username_value, &test_local_form())); |
| 475 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); | |
| 476 autofill::PasswordForm psl_matched_test_form = test_local_form(); | 472 autofill::PasswordForm psl_matched_test_form = test_local_form(); |
| 477 psl_matched_test_form.is_public_suffix_match = true; | 473 psl_matched_test_form.is_public_suffix_match = true; |
| 478 password_form_map.insert(std::make_pair( | 474 password_form_map.insert(std::make_pair(psl_matched_test_form.username_value, |
| 479 psl_matched_test_form.username_value, | 475 &psl_matched_test_form)); |
| 480 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form)))); | |
| 481 GURL origin("https://example.com"); | 476 GURL origin("https://example.com"); |
| 482 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); | 477 passwords_data().OnPasswordAutofilled(password_form_map, origin, nullptr); |
| 483 | 478 |
| 484 EXPECT_THAT(passwords_data().GetCurrentForms(), | 479 EXPECT_THAT(passwords_data().GetCurrentForms(), |
| 485 ElementsAre(Pointee(test_local_form()))); | 480 ElementsAre(Pointee(test_local_form()))); |
| 486 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); | 481 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); |
| 487 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 482 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 488 EXPECT_EQ(origin, passwords_data().origin()); | 483 EXPECT_EQ(origin, passwords_data().origin()); |
| 489 | 484 |
| 490 TestAllUpdates(); | 485 TestAllUpdates(); |
| 491 } | 486 } |
| 492 | 487 |
| 493 TEST_F(ManagePasswordsStateTest, InactiveOnPSLMatched) { | 488 TEST_F(ManagePasswordsStateTest, InactiveOnPSLMatched) { |
| 494 autofill::PasswordForm psl_matched_test_form = test_local_form(); | 489 autofill::PasswordForm psl_matched_test_form = test_local_form(); |
| 495 psl_matched_test_form.is_public_suffix_match = true; | 490 psl_matched_test_form.is_public_suffix_match = true; |
| 496 autofill::PasswordFormMap password_form_map; | 491 std::map<base::string16, const autofill::PasswordForm*> password_form_map; |
| 497 password_form_map.insert(std::make_pair( | 492 password_form_map.insert(std::make_pair(psl_matched_test_form.username_value, |
| 498 psl_matched_test_form.username_value, | 493 &psl_matched_test_form)); |
| 499 base::WrapUnique(new autofill::PasswordForm(psl_matched_test_form)))); | |
| 500 passwords_data().OnPasswordAutofilled( | 494 passwords_data().OnPasswordAutofilled( |
| 501 password_form_map, GURL("https://m.example.com/"), nullptr); | 495 password_form_map, GURL("https://m.example.com/"), nullptr); |
| 502 | 496 |
| 503 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); | 497 EXPECT_THAT(passwords_data().GetCurrentForms(), IsEmpty()); |
| 504 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); | 498 EXPECT_THAT(passwords_data().federation_providers_forms(), IsEmpty()); |
| 505 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); | 499 EXPECT_EQ(password_manager::ui::INACTIVE_STATE, passwords_data().state()); |
| 506 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); | 500 EXPECT_EQ(GURL::EmptyGURL(), passwords_data().origin()); |
| 507 EXPECT_FALSE(passwords_data().form_manager()); | 501 EXPECT_FALSE(passwords_data().form_manager()); |
| 508 } | 502 } |
| 509 | 503 |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 571 test_form_manager->ProvisionallySave( | 565 test_form_manager->ProvisionallySave( |
| 572 test_submitted_form(), | 566 test_submitted_form(), |
| 573 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); | 567 password_manager::PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES); |
| 574 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); | 568 passwords_data().OnAutomaticPasswordSave(std::move(test_form_manager)); |
| 575 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); | 569 EXPECT_EQ(password_manager::ui::CONFIRMATION_STATE, passwords_data().state()); |
| 576 | 570 |
| 577 TestBlacklistedUpdates(); | 571 TestBlacklistedUpdates(); |
| 578 } | 572 } |
| 579 | 573 |
| 580 TEST_F(ManagePasswordsStateTest, BackgroundAutofilledAddBlacklisted) { | 574 TEST_F(ManagePasswordsStateTest, BackgroundAutofilledAddBlacklisted) { |
| 581 autofill::PasswordFormMap password_form_map; | 575 std::map<base::string16, const autofill::PasswordForm*> password_form_map; |
| 582 password_form_map.insert(std::make_pair( | 576 password_form_map.insert( |
| 583 test_local_form().username_value, | 577 std::make_pair(test_local_form().username_value, &test_local_form())); |
| 584 base::WrapUnique(new autofill::PasswordForm(test_local_form())))); | |
| 585 passwords_data().OnPasswordAutofilled( | 578 passwords_data().OnPasswordAutofilled( |
| 586 password_form_map, password_form_map.begin()->second->origin, nullptr); | 579 password_form_map, password_form_map.begin()->second->origin, nullptr); |
| 587 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); | 580 EXPECT_EQ(password_manager::ui::MANAGE_STATE, passwords_data().state()); |
| 588 | 581 |
| 589 TestBlacklistedUpdates(); | 582 TestBlacklistedUpdates(); |
| 590 } | 583 } |
| 591 | 584 |
| 592 TEST_F(ManagePasswordsStateTest, PasswordUpdateAddBlacklisted) { | 585 TEST_F(ManagePasswordsStateTest, PasswordUpdateAddBlacklisted) { |
| 593 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( | 586 std::unique_ptr<password_manager::PasswordFormManager> test_form_manager( |
| 594 CreateFormManager()); | 587 CreateFormManager()); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 698 std::vector<std::unique_ptr<autofill::PasswordForm>>(), | 691 std::vector<std::unique_ptr<autofill::PasswordForm>>(), |
| 699 std::vector<std::unique_ptr<autofill::PasswordForm>>(), | 692 std::vector<std::unique_ptr<autofill::PasswordForm>>(), |
| 700 test_local_form().origin); | 693 test_local_form().origin); |
| 701 passwords_data().set_credentials_callback(base::Bind( | 694 passwords_data().set_credentials_callback(base::Bind( |
| 702 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); | 695 &ManagePasswordsStateTest::CredentialCallback, base::Unretained(this))); |
| 703 EXPECT_CALL(*this, CredentialCallback(&test_local_federated_form())); | 696 EXPECT_CALL(*this, CredentialCallback(&test_local_federated_form())); |
| 704 passwords_data().ChooseCredential(&test_local_federated_form()); | 697 passwords_data().ChooseCredential(&test_local_federated_form()); |
| 705 } | 698 } |
| 706 | 699 |
| 707 } // namespace | 700 } // namespace |
| OLD | NEW |