Index: components/password_manager/core/browser/password_manager_unittest.cc |
diff --git a/components/password_manager/core/browser/password_manager_unittest.cc b/components/password_manager/core/browser/password_manager_unittest.cc |
index a4a9eec4071ac534f0902cb106786d3eda086c27..ba29bfe09c9e254b1d9001af8c6b4c46a378632c 100644 |
--- a/components/password_manager/core/browser/password_manager_unittest.cc |
+++ b/components/password_manager/core/browser/password_manager_unittest.cc |
@@ -1083,12 +1083,14 @@ TEST_F(PasswordManagerTest, SaveFormFetchedAfterSubmit) { |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- PasswordStoreConsumer* form_manager = nullptr; |
// No call-back from store after GetLogins is called emulates that |
// PasswordStore did not fetch a form in time before submission. |
- EXPECT_CALL(*store_, GetLogins(_, _)).WillOnce(SaveArg<1>(&form_manager)); |
+ EXPECT_CALL(*store_, GetLogins(_, _)); |
manager()->OnPasswordFormsParsed(&driver_, observed); |
manager()->OnPasswordFormsRendered(&driver_, observed, true); |
+ ASSERT_EQ(1u, manager()->pending_login_managers().size()); |
+ PasswordFormManager* form_manager = |
+ manager()->pending_login_managers().front().get(); |
EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage()) |
.WillRepeatedly(Return(true)); |
@@ -1097,8 +1099,8 @@ TEST_F(PasswordManagerTest, SaveFormFetchedAfterSubmit) { |
// Emulate fetching password form from PasswordStore after submission but |
// before post-navigation load. |
ASSERT_TRUE(form_manager); |
- form_manager->OnGetPasswordStoreResults( |
- std::vector<std::unique_ptr<PasswordForm>>()); |
+ static_cast<FormFetcherImpl*>(form_manager->form_fetcher()) |
+ ->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>()); |
std::unique_ptr<PasswordFormManager> form_manager_to_save; |
EXPECT_CALL(client_, |
@@ -1373,13 +1375,13 @@ TEST_F(PasswordManagerTest, |
manager()->OnPasswordFormsParsed(&driver_, observed); |
manager()->OnPasswordFormsRendered(&driver_, observed, true); |
- PasswordStoreConsumer* consumer = nullptr; |
- EXPECT_CALL(*store_, GetLogins(PasswordStore::FormDigest(form), _)) |
- .WillOnce(SaveArg<1>(&consumer)); |
+ EXPECT_CALL(*store_, GetLogins(PasswordStore::FormDigest(form), _)); |
manager()->SetGenerationElementAndReasonForForm(&driver_, form, |
base::string16(), false); |
+ ASSERT_EQ(1u, manager()->pending_login_managers().size()); |
PasswordFormManager* form_manager = |
- static_cast<PasswordFormManager*>(consumer); |
+ manager()->pending_login_managers().front().get(); |
+ |
EXPECT_FALSE(form_manager->has_generated_password()); |
} |
@@ -1436,19 +1438,20 @@ TEST_F(PasswordManagerTest, UpdateFormManagers) { |
// Seeing some forms should result in creating PasswordFormManagers and |
// querying PasswordStore. Calling UpdateFormManagers should result in |
// querying the store again. |
- PasswordStoreConsumer* consumer = nullptr; |
- EXPECT_CALL(*store_, GetLogins(_, _)).WillOnce(SaveArg<1>(&consumer)); |
+ EXPECT_CALL(*store_, GetLogins(_, _)); |
PasswordForm form; |
std::vector<PasswordForm> observed; |
observed.push_back(form); |
manager()->OnPasswordFormsParsed(&driver_, observed); |
+ ASSERT_EQ(1u, manager()->pending_login_managers().size()); |
+ PasswordFormManager* form_manager = |
+ manager()->pending_login_managers().front().get(); |
// The first GetLogins should have fired, but to unblock the second, we need |
// to first send a response from the store (to be ignored). |
- ASSERT_TRUE(consumer); |
- consumer->OnGetPasswordStoreResults( |
- std::vector<std::unique_ptr<PasswordForm>>()); |
+ static_cast<FormFetcherImpl*>(form_manager->form_fetcher()) |
+ ->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>()); |
EXPECT_CALL(*store_, GetLogins(_, _)); |
manager()->UpdateFormManagers(); |
} |