| Index: components/password_manager/core/browser/password_form_manager_unittest.cc
|
| diff --git a/components/password_manager/core/browser/password_form_manager_unittest.cc b/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| index ebef05d0719f3cf5d1e6bcfbdbb768eb7838fb05..e4ed9f70800446feb8141ee565fbee0a998aad22 100644
|
| --- a/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| +++ b/components/password_manager/core/browser/password_form_manager_unittest.cc
|
| @@ -387,9 +387,9 @@
|
| saved_match_.form_data.fields.push_back(field);
|
|
|
| password_manager_.reset(new PasswordManager(&client_));
|
| - form_manager_ = base::MakeRefCounted<PasswordFormManager>(
|
| + form_manager_.reset(new PasswordFormManager(
|
| password_manager_.get(), &client_, client_.driver(), observed_form_,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fake_form_fetcher_);
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fake_form_fetcher_));
|
| }
|
|
|
| // Save saved_match() for observed_form() where |observed_form_data|,
|
| @@ -406,10 +406,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), form,
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| PasswordForm match = CreateSavedMatch(false);
|
| match.generation_upload_status = status;
|
| match.times_used = times_used;
|
| @@ -438,8 +437,8 @@
|
| if (field_type) {
|
| // Show the password generation popup to check that the generation vote
|
| // would be ignored.
|
| - form_manager->set_generation_element(saved_match()->password_element);
|
| - form_manager->set_generation_popup_was_shown(true);
|
| + form_manager.set_generation_element(saved_match()->password_element);
|
| + form_manager.set_generation_popup_was_shown(true);
|
| expect_generation_vote =
|
| *field_type != autofill::ACCOUNT_CREATION_PASSWORD;
|
|
|
| @@ -460,9 +459,9 @@
|
| StartUploadRequest(_, _, _, _, _))
|
| .Times(0);
|
| }
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| form_to_save, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| Mock::VerifyAndClearExpectations(
|
| client()->mock_driver()->mock_autofill_download_manager());
|
| }
|
| @@ -496,10 +495,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| // User submits current and new credentials to the observed form.
|
| @@ -509,21 +507,21 @@
|
| submitted_form.password_value = saved_match()->password_value;
|
| submitted_form.new_password_value = ASCIIToUTF16("test2");
|
| submitted_form.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to update.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
| EXPECT_FALSE(
|
| - form_manager->is_possible_change_password_form_without_username());
|
| + form_manager.is_possible_change_password_form_without_username());
|
|
|
| // By now, the PasswordFormManager should have promoted the new password
|
| // value already to be the current password, and should no longer maintain
|
| // any info about the new password value.
|
| EXPECT_EQ(submitted_form.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
|
|
| std::map<base::string16, autofill::ServerFieldType> expected_types;
|
| expected_types[ASCIIToUTF16("full_name")] = autofill::UNKNOWN_TYPE;
|
| @@ -559,13 +557,13 @@
|
|
|
| switch (field_type) {
|
| case autofill::NEW_PASSWORD:
|
| - form_manager->Update(*saved_match());
|
| + form_manager.Update(*saved_match());
|
| break;
|
| case autofill::PROBABLY_NEW_PASSWORD:
|
| - form_manager->OnNoInteraction(true /* it is an update */);
|
| + form_manager.OnNoInteraction(true /* it is an update */);
|
| break;
|
| case autofill::NOT_NEW_PASSWORD:
|
| - form_manager->OnNopeUpdateClicked();
|
| + form_manager.OnNopeUpdateClicked();
|
| break;
|
| default:
|
| NOTREACHED();
|
| @@ -640,10 +638,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), form,
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
|
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| @@ -652,13 +649,13 @@
|
| if (interaction == SAVE)
|
| expected_available_field_types.insert(autofill::PASSWORD);
|
|
|
| - form_manager->set_is_manual_generation(is_manual_generation);
|
| + form_manager.set_is_manual_generation(is_manual_generation);
|
| base::string16 generation_element = is_change_password_form
|
| ? form.new_password_element
|
| : form.password_element;
|
| - form_manager->set_generation_element(generation_element);
|
| - form_manager->set_generation_popup_was_shown(true);
|
| - form_manager->set_has_generated_password(has_generated_password);
|
| + form_manager.set_generation_element(generation_element);
|
| + form_manager.set_generation_popup_was_shown(true);
|
| + form_manager.set_has_generated_password(has_generated_password);
|
|
|
| // Figure out expected generation event type.
|
| autofill::AutofillUploadContents::Field::PasswordGenerationType
|
| @@ -679,17 +676,17 @@
|
| form_structure.FormSignatureAsStr(), expected_generation_types),
|
| false, expected_available_field_types, std::string(), true));
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| switch (interaction) {
|
| case SAVE:
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| break;
|
| case NEVER:
|
| - form_manager->OnNeverClicked();
|
| + form_manager.OnNeverClicked();
|
| break;
|
| case NO_INTERACTION:
|
| - form_manager->OnNoInteraction(false /* not an update prompt*/);
|
| + form_manager.OnNoInteraction(false /* not an update prompt*/);
|
| break;
|
| }
|
| Mock::VerifyAndClearExpectations(
|
| @@ -753,10 +750,9 @@
|
| const char* filled_username,
|
| const char* filled_password,
|
| const char* submitted_password = nullptr) {
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), fetcher);
|
|
|
| EXPECT_CALL(*client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, _, _, _, _))
|
| @@ -792,13 +788,13 @@
|
| submitted_password ? base::ASCIIToUTF16(submitted_password)
|
| : base::ASCIIToUTF16(filled_password);
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| if (submit_result == SimulatedSubmitResult::PASSED) {
|
| - form_manager->LogSubmitPassed();
|
| - form_manager->Save();
|
| + form_manager.LogSubmitPassed();
|
| + form_manager.Save();
|
| } else {
|
| - form_manager->LogSubmitFailed();
|
| + form_manager.LogSubmitFailed();
|
| }
|
| }
|
| }
|
| @@ -815,7 +811,7 @@
|
| // Define |fake_form_fetcher_| before |form_manager_|, because the former
|
| // needs to outlive the latter.
|
| FakeFormFetcher fake_form_fetcher_;
|
| - scoped_refptr<PasswordFormManager> form_manager_;
|
| + std::unique_ptr<PasswordFormManager> form_manager_;
|
| };
|
|
|
| class PasswordFormManagerFillOnAccountSelectTest
|
| @@ -934,10 +930,9 @@
|
| observed_form()->signon_realm = "http://accounts.google.com";
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| // Doesn't apply because it is just a PSL match of the observed form.
|
| PasswordForm blacklisted_psl = *observed_form();
|
| @@ -980,12 +975,12 @@
|
| saved_match()};
|
| fetcher.SetNonFederated(matches, 0u);
|
|
|
| - EXPECT_TRUE(form_manager->IsBlacklisted());
|
| - EXPECT_THAT(form_manager->blacklisted_matches(),
|
| + EXPECT_TRUE(form_manager.IsBlacklisted());
|
| + EXPECT_THAT(form_manager.blacklisted_matches(),
|
| UnorderedElementsAre(Pointee(blacklisted_match),
|
| Pointee(blacklisted_match2)));
|
| - EXPECT_EQ(1u, form_manager->best_matches().size());
|
| - EXPECT_EQ(*saved_match(), *form_manager->preferred_match());
|
| + EXPECT_EQ(1u, form_manager.best_matches().size());
|
| + EXPECT_EQ(*saved_match(), *form_manager.preferred_match());
|
| }
|
|
|
| // Test that even in the presence of blacklisted matches, the non-blacklisted
|
| @@ -1075,10 +1070,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| // User enters current and new credentials to the observed form.
|
| @@ -1087,28 +1081,28 @@
|
| credentials.password_value = ASCIIToUTF16("oldpassword");
|
| credentials.new_password_value = ASCIIToUTF16("newpassword");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, which should know this is a new login.
|
| - EXPECT_TRUE(form_manager->IsNewLogin());
|
| - EXPECT_EQ(credentials.origin, form_manager->pending_credentials().origin);
|
| + EXPECT_TRUE(form_manager.IsNewLogin());
|
| + EXPECT_EQ(credentials.origin, form_manager.pending_credentials().origin);
|
| EXPECT_EQ(credentials.signon_realm,
|
| - form_manager->pending_credentials().signon_realm);
|
| - EXPECT_EQ(credentials.action, form_manager->pending_credentials().action);
|
| - EXPECT_TRUE(form_manager->pending_credentials().preferred);
|
| + form_manager.pending_credentials().signon_realm);
|
| + EXPECT_EQ(credentials.action, form_manager.pending_credentials().action);
|
| + EXPECT_TRUE(form_manager.pending_credentials().preferred);
|
| EXPECT_EQ(credentials.username_value,
|
| - form_manager->pending_credentials().username_value);
|
| + form_manager.pending_credentials().username_value);
|
|
|
| // By this point, the PasswordFormManager should have promoted the new
|
| // password value to be the current password, and should have wiped the
|
| // password element name: it is likely going to be different on a login
|
| // form, so it is not worth remembering them.
|
| EXPECT_EQ(credentials.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().password_element.empty());
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().password_element.empty());
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest, TestUpdatePassword) {
|
| @@ -1159,10 +1153,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| // User submits current and new credentials to the observed form.
|
| @@ -1171,28 +1164,28 @@
|
| credentials.password_value = saved_match()->password_value;
|
| credentials.new_password_value = ASCIIToUTF16("test2");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
|
|
| // By now, the PasswordFormManager should have promoted the new password value
|
| // already to be the current password, and should no longer maintain any info
|
| // about the new password.
|
| EXPECT_EQ(credentials.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_element.empty());
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_element.empty());
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
|
|
| // Trigger saving to exercise some special case handling for updating.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Update(_, _, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Update(_, _, _, nullptr))
|
| .WillOnce(testing::SaveArg<0>(&new_credentials));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| // No meta-information should be updated, only the password.
|
| EXPECT_EQ(credentials.new_password_value, new_credentials.password_value);
|
| @@ -1211,10 +1204,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), observed,
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), observed,
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| PasswordForm saved_form = observed;
|
| saved_form.origin = GURL("https://accounts.google.com/a/OtherLoginAuth");
|
| @@ -1222,8 +1214,8 @@
|
| fetcher.SetNonFederated({&saved_form}, 0u);
|
|
|
| // Different paths for action / origin are okay.
|
| - EXPECT_EQ(1u, form_manager->best_matches().size());
|
| - EXPECT_EQ(*form_manager->best_matches().begin()->second, saved_form);
|
| + EXPECT_EQ(1u, form_manager.best_matches().size());
|
| + EXPECT_EQ(*form_manager.best_matches().begin()->second, saved_form);
|
| }
|
|
|
| // Test that saved empty action URL is updated with the submitted action URL.
|
| @@ -1383,10 +1375,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), signup_form,
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), signup_form,
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| EXPECT_CALL(*(client()->mock_driver()), AllowPasswordGenerationForForm(_));
|
| PasswordForm simulated_result = CreateSavedMatch(false);
|
| fetcher.SetNonFederated({&simulated_result}, 0u);
|
| @@ -1536,10 +1527,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), encountered_form,
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), encountered_form,
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| PasswordForm incomplete_form;
|
| incomplete_form.origin = GURL("http://accounts.google.com/LoginAuth");
|
| @@ -1565,16 +1555,16 @@
|
| // Feed the incomplete credentials to the manager.
|
| fetcher.SetNonFederated({&incomplete_form}, 0u);
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| complete_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| // By now that form has been used once.
|
| complete_form.times_used = 1;
|
| obsolete_form.times_used = 1;
|
|
|
| // Check that PasswordStore receives an update request with the complete form.
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()),
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager),
|
| Update(complete_form, _, _, Pointee(obsolete_form)));
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
|
|
| // Test that public-suffix-matched credentials score lower than same-origin
|
| @@ -1716,11 +1706,10 @@
|
| PasswordFormManager::RESULT_ACTION_MATCH);
|
| // Then when the observed form has an invalid URL:
|
| PasswordForm valid_action_form(*observed_form());
|
| - scoped_refptr<PasswordFormManager> invalid_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), invalid_action_form,
|
| - base::MakeUnique<MockFormSaver>(), fake_form_fetcher()));
|
| - EXPECT_EQ(0, invalid_manager->DoesManage(valid_action_form, nullptr) &
|
| + PasswordFormManager invalid_manager(
|
| + password_manager(), client(), client()->driver(), invalid_action_form,
|
| + base::MakeUnique<MockFormSaver>(), fake_form_fetcher());
|
| + EXPECT_EQ(0, invalid_manager.DoesManage(valid_action_form, nullptr) &
|
| PasswordFormManager::RESULT_ACTION_MATCH);
|
| }
|
|
|
| @@ -1734,11 +1723,10 @@
|
| PasswordFormManager::RESULT_ACTION_MATCH);
|
| // Then when the observed form has an empty URL:
|
| PasswordForm valid_action_form(*observed_form());
|
| - scoped_refptr<PasswordFormManager> empty_action_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), empty_action_form,
|
| - base::MakeUnique<MockFormSaver>(), fake_form_fetcher()));
|
| - EXPECT_EQ(0, empty_action_manager->DoesManage(valid_action_form, nullptr) &
|
| + PasswordFormManager empty_action_manager(
|
| + password_manager(), client(), client()->driver(), empty_action_form,
|
| + base::MakeUnique<MockFormSaver>(), fake_form_fetcher());
|
| + EXPECT_EQ(0, empty_action_manager.DoesManage(valid_action_form, nullptr) &
|
| PasswordFormManager::RESULT_ACTION_MATCH);
|
| }
|
|
|
| @@ -1751,11 +1739,10 @@
|
|
|
| // The other way round: observing a non-HTML form, don't match a HTML form.
|
| PasswordForm html_form(*observed_form());
|
| - scoped_refptr<PasswordFormManager> non_html_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), kNoDriver, non_html_form,
|
| - base::MakeUnique<MockFormSaver>(), fake_form_fetcher()));
|
| - EXPECT_EQ(0, non_html_manager->DoesManage(html_form, nullptr) &
|
| + PasswordFormManager non_html_manager(
|
| + password_manager(), client(), kNoDriver, non_html_form,
|
| + base::MakeUnique<MockFormSaver>(), fake_form_fetcher());
|
| + EXPECT_EQ(0, non_html_manager.DoesManage(html_form, nullptr) &
|
| PasswordFormManager::RESULT_HTML_ATTRIBUTES_MATCH);
|
| }
|
|
|
| @@ -1789,18 +1776,16 @@
|
|
|
| PasswordForm secure_observed_form(*observed_form());
|
| secure_observed_form.origin = GURL("https://accounts.google.com/a/LoginAuth");
|
| - scoped_refptr<PasswordFormManager> secure_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(),
|
| - secure_observed_form, base::MakeUnique<MockFormSaver>(),
|
| - fake_form_fetcher()));
|
| + PasswordFormManager secure_manager(
|
| + password_manager(), client(), client()->driver(), secure_observed_form,
|
| + base::MakeUnique<MockFormSaver>(), fake_form_fetcher());
|
| // Also for HTTPS in the observed form, and HTTP in the compared form, an
|
| // exact path match is expected.
|
| - EXPECT_EQ(0, secure_manager->DoesManage(form_longer_path, nullptr) &
|
| + EXPECT_EQ(0, secure_manager.DoesManage(form_longer_path, nullptr) &
|
| PasswordFormManager::RESULT_HTML_ATTRIBUTES_MATCH);
|
| // Not even upgrade to HTTPS in the compared form should help.
|
| form_longer_path.origin = GURL("https://accounts.google.com/a/LoginAuth/sec");
|
| - EXPECT_EQ(0, secure_manager->DoesManage(form_longer_path, nullptr) &
|
| + EXPECT_EQ(0, secure_manager.DoesManage(form_longer_path, nullptr) &
|
| PasswordFormManager::RESULT_HTML_ATTRIBUTES_MATCH);
|
| }
|
|
|
| @@ -1888,10 +1873,9 @@
|
| // Don't vote for the username field yet.
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *saved_match(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *saved_match(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| PasswordForm form_to_save(*saved_match());
|
| @@ -1904,19 +1888,18 @@
|
| EXPECT_CALL(
|
| *client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, false, expected_available_field_types, _, true));
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| form_to_save, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest, UploadFormData_NewPassword_Blacklist) {
|
| // Do not upload a vote if the user is blacklisting the form.
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> blacklist_form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *saved_match(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager blacklist_form_manager(
|
| + password_manager(), client(), client()->driver(), *saved_match(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| autofill::ServerFieldTypeSet expected_available_field_types;
|
| @@ -1925,7 +1908,7 @@
|
| EXPECT_CALL(*client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, _, expected_available_field_types, _, true))
|
| .Times(0);
|
| - blacklist_form_manager->PermanentlyBlacklist();
|
| + blacklist_form_manager.PermanentlyBlacklist();
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest, UploadPasswordForm) {
|
| @@ -2010,10 +1993,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), form,
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| // Suddenly, the frame and its driver disappear.
|
| client()->KillDriver();
|
| @@ -2091,11 +2073,10 @@
|
| base::ASCIIToUTF16("new_pwd");
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> manager_creds(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(),
|
| - observed_change_password_form, base::MakeUnique<MockFormSaver>(),
|
| - &fetcher));
|
| + PasswordFormManager manager_creds(
|
| + password_manager(), client(), client()->driver(),
|
| + observed_change_password_form, base::MakeUnique<MockFormSaver>(),
|
| + &fetcher);
|
|
|
| autofill::PasswordFormFillData fill_data;
|
| EXPECT_CALL(*client()->mock_driver(), FillPasswordForm(_))
|
| @@ -2103,7 +2084,7 @@
|
|
|
| PasswordForm result = CreateSavedMatch(false);
|
| fetcher.SetNonFederated({&result}, 0u);
|
| - EXPECT_EQ(1u, manager_creds->best_matches().size());
|
| + EXPECT_EQ(1u, manager_creds.best_matches().size());
|
| EXPECT_EQ(0u, fill_data.additional_logins.size());
|
| EXPECT_TRUE(fill_data.wait_for_username);
|
| }
|
| @@ -2129,10 +2110,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| @@ -2142,29 +2122,29 @@
|
| credentials.password_value = saved_match()->password_value;
|
| credentials.new_password_value = ASCIIToUTF16("test2");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
| EXPECT_FALSE(
|
| - form_manager->is_possible_change_password_form_without_username());
|
| + form_manager.is_possible_change_password_form_without_username());
|
|
|
| // By now, the PasswordFormManager should have promoted the new password value
|
| // already to be the current password, and should no longer maintain any info
|
| // about the new password value.
|
| EXPECT_EQ(credentials.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
|
|
| // Trigger saving to exercise some special case handling during updating.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Update(_, _, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Update(_, _, _, nullptr))
|
| .WillOnce(SaveArg<0>(&new_credentials));
|
|
|
| - form_manager->Update(*saved_match());
|
| + form_manager.Update(*saved_match());
|
|
|
| // No meta-information should be updated, only the password.
|
| EXPECT_EQ(credentials.new_password_value, new_credentials.password_value);
|
| @@ -2195,10 +2175,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
|
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| @@ -2209,31 +2188,30 @@
|
| credentials.password_value = saved_match()->password_value;
|
| credentials.new_password_value = ASCIIToUTF16("test2");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| - EXPECT_TRUE(
|
| - form_manager->is_possible_change_password_form_without_username());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
| + EXPECT_TRUE(form_manager.is_possible_change_password_form_without_username());
|
|
|
| // By now, the PasswordFormManager should have promoted the new password value
|
| // already to be the current password, and should no longer maintain any info
|
| // about the new password value.
|
| EXPECT_EQ(saved_match()->username_value,
|
| - form_manager->pending_credentials().username_value);
|
| + form_manager.pending_credentials().username_value);
|
| EXPECT_EQ(credentials.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
|
|
| // Trigger saving to exercise some special case handling during updating.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Update(_, _, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Update(_, _, _, nullptr))
|
| .WillOnce(SaveArg<0>(&new_credentials));
|
|
|
| - form_manager->Update(form_manager->pending_credentials());
|
| + form_manager.Update(form_manager.pending_credentials());
|
|
|
| // No other information than password value should be updated. In particular
|
| // not the username.
|
| @@ -2252,22 +2230,21 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), form,
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| // The creation of |fetcher| keeps it waiting for store results. This test
|
| // keeps the fetcher waiting on purpose.
|
|
|
| PasswordForm submitted_form(form);
|
| submitted_form.password_value += ASCIIToUTF16("add stuff, make it different");
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| base::HistogramTester histogram_tester;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()),
|
| - WipeOutdatedCopies(form_manager->pending_credentials(), _, _));
|
| - form_manager->WipeStoreCopyIfOutdated();
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager),
|
| + WipeOutdatedCopies(form_manager.pending_credentials(), _, _));
|
| + form_manager.WipeStoreCopyIfOutdated();
|
| histogram_tester.ExpectUniqueSample("PasswordManager.StoreReadyWhenWiping", 0,
|
| 1);
|
| }
|
| @@ -2386,10 +2363,9 @@
|
| TEST_F(PasswordFormManagerTest, TestUpdatePSLMatchedCredentials) {
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated({saved_match(), psl_saved_match()}, 0u);
|
|
|
| // User submits a credentials with an old username and a new password.
|
| @@ -2397,24 +2373,24 @@
|
| credentials.username_value = saved_match()->username_value;
|
| credentials.password_value = ASCIIToUTF16("new_password");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
|
|
| // Trigger saving to exercise some special case handling during updating.
|
| PasswordForm new_credentials;
|
| std::vector<autofill::PasswordForm> credentials_to_update;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Update(_, _, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Update(_, _, _, nullptr))
|
| .WillOnce(testing::DoAll(SaveArg<0>(&new_credentials),
|
| SaveArgPointee<2>(&credentials_to_update)));
|
| EXPECT_CALL(*client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, false, _, _, true));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| // No meta-information should be updated, only the password.
|
| EXPECT_EQ(credentials.password_value, new_credentials.password_value);
|
| @@ -2439,10 +2415,9 @@
|
| TestNotUpdatePSLMatchedCredentialsWithAnotherUsername) {
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| psl_saved_match()->username_value += ASCIIToUTF16("1");
|
| fetcher.SetNonFederated({saved_match(), psl_saved_match()}, 0u);
|
|
|
| @@ -2451,23 +2426,23 @@
|
| credentials.username_value = saved_match()->username_value;
|
| credentials.password_value = ASCIIToUTF16("new_password");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
|
|
| // Trigger saving to exercise some special case handling during updating.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()),
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager),
|
| Update(_, _, Pointee(IsEmpty()), nullptr))
|
| .WillOnce(testing::SaveArg<0>(&new_credentials));
|
| EXPECT_CALL(*client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, false, _, _, true));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| // No meta-information should be updated, only the password.
|
| EXPECT_EQ(credentials.password_value, new_credentials.password_value);
|
| @@ -2481,10 +2456,9 @@
|
| TestNotUpdatePSLMatchedCredentialsWithAnotherPassword) {
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| psl_saved_match()->password_value += ASCIIToUTF16("1");
|
| fetcher.SetNonFederated({saved_match(), psl_saved_match()}, 0u);
|
|
|
| @@ -2493,23 +2467,23 @@
|
| credentials.username_value = saved_match()->username_value;
|
| credentials.password_value = ASCIIToUTF16("new_password");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to save, and since this is an update, it should know not to save as a new
|
| // login.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
|
|
| // Trigger saving to exercise some special case handling during updating.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()),
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager),
|
| Update(_, _, Pointee(IsEmpty()), nullptr))
|
| .WillOnce(testing::SaveArg<0>(&new_credentials));
|
| EXPECT_CALL(*client()->mock_driver()->mock_autofill_download_manager(),
|
| StartUploadRequest(_, false, _, _, true));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| // No meta-information should be updated, only the password.
|
| EXPECT_EQ(credentials.password_value, new_credentials.password_value);
|
| @@ -2522,10 +2496,9 @@
|
| TEST_F(PasswordFormManagerTest, TestNotUpdateWhenOnlyPSLMatched) {
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated({psl_saved_match()}, 0u);
|
|
|
| // User submits a credentials with an old username and a new password.
|
| @@ -2533,18 +2506,18 @@
|
| credentials.username_value = saved_match()->username_value;
|
| credentials.password_value = ASCIIToUTF16("new_password");
|
| credentials.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| - EXPECT_TRUE(form_manager->IsNewLogin());
|
| + EXPECT_TRUE(form_manager.IsNewLogin());
|
|
|
| // PSL matched credential should not be updated, since we are not sure that
|
| // this is the same credential as submitted one.
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Save(_, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Save(_, _, nullptr))
|
| .WillOnce(testing::SaveArg<0>(&new_credentials));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| EXPECT_EQ(credentials.password_value, new_credentials.password_value);
|
| EXPECT_EQ(credentials.username_value, new_credentials.username_value);
|
| @@ -2679,10 +2652,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| // User submits current and new credentials to the observed form.
|
| @@ -2690,21 +2662,20 @@
|
| submitted_form.password_value = saved_match()->password_value;
|
| submitted_form.new_password_value = ASCIIToUTF16("test2");
|
| submitted_form.preferred = true;
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| // Successful login. The PasswordManager would instruct PasswordFormManager
|
| // to update.
|
| - EXPECT_FALSE(form_manager->IsNewLogin());
|
| - EXPECT_TRUE(
|
| - form_manager->is_possible_change_password_form_without_username());
|
| + EXPECT_FALSE(form_manager.IsNewLogin());
|
| + EXPECT_TRUE(form_manager.is_possible_change_password_form_without_username());
|
|
|
| // By now, the PasswordFormManager should have promoted the new password
|
| // value already to be the current password, and should no longer maintain
|
| // any info about the new password value.
|
| EXPECT_EQ(submitted_form.new_password_value,
|
| - form_manager->pending_credentials().password_value);
|
| - EXPECT_TRUE(form_manager->pending_credentials().new_password_value.empty());
|
| + form_manager.pending_credentials().password_value);
|
| + EXPECT_TRUE(form_manager.pending_credentials().new_password_value.empty());
|
|
|
| std::map<base::string16, autofill::ServerFieldType> expected_types;
|
| expected_types[observed_form()->password_element] = autofill::PASSWORD;
|
| @@ -2728,7 +2699,7 @@
|
| false, expected_available_field_types,
|
| expected_login_signature, true));
|
|
|
| - form_manager->Update(*saved_match());
|
| + form_manager.Update(*saved_match());
|
| }
|
|
|
| // Checks uploading a vote about the usage of the password generation popup.
|
| @@ -2764,15 +2735,14 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), form,
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| base::string16 generation_element = form.password_element;
|
| if (found_generation_element)
|
| - form_manager->SaveGenerationFieldDetectedByClassifier(generation_element);
|
| + form_manager.SaveGenerationFieldDetectedByClassifier(generation_element);
|
| else
|
| - form_manager->SaveGenerationFieldDetectedByClassifier(base::string16());
|
| + form_manager.SaveGenerationFieldDetectedByClassifier(base::string16());
|
|
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| @@ -2784,9 +2754,9 @@
|
| found_generation_element, generation_element),
|
| false, _, _, true));
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
| }
|
|
|
| @@ -2802,10 +2772,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), form,
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| DCHECK_EQ(3U, form.form_data.fields.size());
|
| @@ -2824,9 +2793,9 @@
|
| StartUploadRequest(
|
| CheckFieldPropertiesMasksUpload(expected_field_properties),
|
| false, _, _, true));
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| submitted_form, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest, TestSavingAPIFormsWithSamePassword) {
|
| @@ -2838,10 +2807,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &fetcher));
|
| + PasswordFormManager form_manager(password_manager(), client(),
|
| + client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &fetcher);
|
| fetcher.SetNonFederated({saved_match()}, 0u);
|
|
|
| // User submits new credentials with the same password as in already saved
|
| @@ -2852,16 +2820,16 @@
|
| credentials.password_value = saved_match()->password_value;
|
| credentials.preferred = true;
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| credentials, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
|
|
| - EXPECT_TRUE(form_manager->IsNewLogin());
|
| + EXPECT_TRUE(form_manager.IsNewLogin());
|
|
|
| PasswordForm new_credentials;
|
| - EXPECT_CALL(MockFormSaver::Get(form_manager.get()), Save(_, _, nullptr))
|
| + EXPECT_CALL(MockFormSaver::Get(&form_manager), Save(_, _, nullptr))
|
| .WillOnce(SaveArg<0>(&new_credentials));
|
|
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| EXPECT_EQ(saved_match()->username_value + ASCIIToUTF16("1"),
|
| new_credentials.username_value);
|
| @@ -2905,10 +2873,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), form,
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), form,
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
|
|
| PasswordForm form_to_save(form);
|
| form_to_save.preferred = true;
|
| @@ -2936,9 +2903,9 @@
|
| false /* expect_generation_vote */),
|
| false, expected_available_field_types, std::string(), true));
|
|
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| form_to_save, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
|
|
| TEST_F(PasswordFormManagerFillOnAccountSelectTest, ProcessFrame) {
|
| @@ -2994,12 +2961,11 @@
|
| observed.scheme = kCorrectScheme;
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(),
|
| - (kCorrectScheme == PasswordForm::SCHEME_HTML ? client()->driver()
|
| - : nullptr),
|
| - observed, base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(),
|
| + (kCorrectScheme == PasswordForm::SCHEME_HTML ? client()->driver()
|
| + : nullptr),
|
| + observed, base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
|
|
| PasswordForm match = *saved_match();
|
| match.scheme = kCorrectScheme;
|
| @@ -3008,20 +2974,20 @@
|
| non_match.scheme = kWrongScheme;
|
|
|
| // First try putting the correct scheme first in returned matches.
|
| - static_cast<FormFetcher::Consumer*>(form_manager.get())
|
| + static_cast<FormFetcher::Consumer*>(&form_manager)
|
| ->ProcessMatches({&match, &non_match}, 0u);
|
|
|
| - EXPECT_EQ(1u, form_manager->best_matches().size());
|
| + EXPECT_EQ(1u, form_manager.best_matches().size());
|
| EXPECT_EQ(kCorrectScheme,
|
| - form_manager->best_matches().begin()->second->scheme);
|
| + form_manager.best_matches().begin()->second->scheme);
|
|
|
| // Now try putting the correct scheme last in returned matches.
|
| - static_cast<FormFetcher::Consumer*>(form_manager.get())
|
| + static_cast<FormFetcher::Consumer*>(&form_manager)
|
| ->ProcessMatches({&non_match, &match}, 0u);
|
|
|
| - EXPECT_EQ(1u, form_manager->best_matches().size());
|
| + EXPECT_EQ(1u, form_manager.best_matches().size());
|
| EXPECT_EQ(kCorrectScheme,
|
| - form_manager->best_matches().begin()->second->scheme);
|
| + form_manager.best_matches().begin()->second->scheme);
|
| }
|
| }
|
| }
|
| @@ -3166,13 +3132,13 @@
|
| MockFormFetcher fetcher;
|
| FormFetcher::Consumer* added_consumer = nullptr;
|
| EXPECT_CALL(fetcher, AddConsumer(_)).WillOnce(SaveArg<0>(&added_consumer));
|
| - auto form_manager = base::MakeRefCounted<PasswordFormManager>(
|
| + auto form_manager = base::MakeUnique<PasswordFormManager>(
|
| password_manager(), client(), client()->driver(), *observed_form(),
|
| base::MakeUnique<MockFormSaver>(), &fetcher);
|
| EXPECT_EQ(form_manager.get(), added_consumer);
|
|
|
| EXPECT_CALL(fetcher, RemoveConsumer(form_manager.get()));
|
| - form_manager = nullptr;
|
| + form_manager.reset();
|
| }
|
|
|
| // Check that if asked to take ownership of the same FormFetcher which it had
|
| @@ -3181,18 +3147,17 @@
|
| TEST_F(PasswordFormManagerTest, GrabFetcher_Same) {
|
| auto fetcher = base::MakeUnique<MockFormFetcher>();
|
| fetcher->Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), fetcher.get()));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), fetcher.get());
|
|
|
| EXPECT_CALL(*fetcher, AddConsumer(_)).Times(0);
|
| EXPECT_CALL(*fetcher, RemoveConsumer(_)).Times(0);
|
| - form_manager->GrabFetcher(std::move(fetcher));
|
| + form_manager.GrabFetcher(std::move(fetcher));
|
| // There will be a RemoveConsumer call as soon as form_manager goes out of
|
| // scope, but the test needs to ensure that there is none as a result of
|
| // GrabFetcher.
|
| - Mock::VerifyAndClearExpectations(form_manager->form_fetcher());
|
| + Mock::VerifyAndClearExpectations(form_manager.form_fetcher());
|
| }
|
|
|
| // Check that if asked to take ownership of a different FormFetcher than which
|
| @@ -3224,16 +3189,15 @@
|
| FormFetcher::Consumer* added_consumer = nullptr;
|
| EXPECT_CALL(old_fetcher, AddConsumer(_))
|
| .WillOnce(SaveArg<0>(&added_consumer));
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<MockFormSaver>(), &old_fetcher));
|
| - EXPECT_EQ(form_manager.get(), added_consumer);
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<MockFormSaver>(), &old_fetcher);
|
| + EXPECT_EQ(&form_manager, added_consumer);
|
|
|
| auto new_fetcher = base::MakeUnique<MockFormFetcher>();
|
| - EXPECT_CALL(*new_fetcher, AddConsumer(form_manager.get()));
|
| - EXPECT_CALL(old_fetcher, RemoveConsumer(form_manager.get()));
|
| - form_manager->GrabFetcher(std::move(new_fetcher));
|
| + EXPECT_CALL(*new_fetcher, AddConsumer(&form_manager));
|
| + EXPECT_CALL(old_fetcher, RemoveConsumer(&form_manager));
|
| + form_manager.GrabFetcher(std::move(new_fetcher));
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest, UploadSignInForm_WithAutofillTypes) {
|
| @@ -3250,10 +3214,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| PasswordForm form_to_save(*observed_form());
|
| @@ -3266,9 +3229,9 @@
|
| client()->mock_driver()->mock_autofill_manager();
|
| EXPECT_CALL(*mock_autofill_manager, StartUploadProcessPtr(_, _, true))
|
| .WillOnce(WithArg<0>(SaveToUniquePtr(&uploaded_form_structure)));
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| form_to_save, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
|
|
| ASSERT_EQ(2u, uploaded_form_structure->field_count());
|
| autofill::ServerFieldTypeSet expected_types = {autofill::PASSWORD};
|
| @@ -3288,10 +3251,9 @@
|
|
|
| FakeFormFetcher fetcher;
|
| fetcher.Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| - password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher));
|
| + PasswordFormManager form_manager(
|
| + password_manager(), client(), client()->driver(), *observed_form(),
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
|
|
| PasswordForm form_to_save(*observed_form());
|
| @@ -3301,9 +3263,9 @@
|
| auto* mock_autofill_manager =
|
| client()->mock_driver()->mock_autofill_manager();
|
| EXPECT_CALL(*mock_autofill_manager, StartUploadProcessPtr(_, _, _)).Times(0);
|
| - form_manager->ProvisionallySave(
|
| + form_manager.ProvisionallySave(
|
| form_to_save, PasswordFormManager::IGNORE_OTHER_POSSIBLE_USERNAMES);
|
| - form_manager->Save();
|
| + form_manager.Save();
|
| }
|
|
|
| TEST_F(PasswordFormManagerTest,
|
| @@ -3312,12 +3274,12 @@
|
|
|
| fake_form_fetcher()->set_did_complete_querying_suppressed_forms(false);
|
| fake_form_fetcher()->Fetch();
|
| - scoped_refptr<PasswordFormManager> form_manager(
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| + std::unique_ptr<PasswordFormManager> form_manager =
|
| + base::MakeUnique<PasswordFormManager>(
|
| password_manager(), client(), client()->driver(), *observed_form(),
|
| - base::MakeUnique<NiceMock<MockFormSaver>>(), fake_form_fetcher()));
|
| + base::MakeUnique<NiceMock<MockFormSaver>>(), fake_form_fetcher());
|
| fake_form_fetcher()->SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
| - form_manager = nullptr;
|
| + form_manager.reset();
|
|
|
| histogram_tester.ExpectUniqueSample(
|
| "PasswordManager.QueryingSuppressedAccountsFinished", false, 1);
|
| @@ -3510,12 +3472,12 @@
|
| fetcher.set_did_complete_querying_suppressed_forms(true);
|
| fetcher.Fetch();
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager =
|
| - base::MakeRefCounted<PasswordFormManager>(
|
| + std::unique_ptr<PasswordFormManager> form_manager =
|
| + base::MakeUnique<PasswordFormManager>(
|
| password_manager(), client(), client()->driver(), https_observed_form,
|
| base::MakeUnique<NiceMock<MockFormSaver>>(), &fetcher);
|
| fetcher.SetNonFederated(std::vector<const PasswordForm*>(), 0u);
|
| - form_manager = nullptr;
|
| + form_manager.reset();
|
|
|
| histogram_tester.ExpectUniqueSample(
|
| "PasswordManager.QueryingSuppressedAccountsFinished", true, 1);
|
|
|