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 |