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