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 c2bb40c2f15b3b2e05346bdadf80461d0e0d82fc..b7fe76764a074ff3801dd80ce70ae85a42e499c0 100644 |
--- a/components/password_manager/core/browser/password_manager_unittest.cc |
+++ b/components/password_manager/core/browser/password_manager_unittest.cc |
@@ -110,7 +110,7 @@ class PasswordManagerTest : public testing::Test { |
manager_.reset(new TestPasswordManager(&client_)); |
password_autofill_manager_.reset( |
- new PasswordAutofillManager(&client_, NULL)); |
+ new PasswordAutofillManager(&client_, client_.GetDriver(), NULL)); |
EXPECT_CALL(driver_, GetPasswordManager()) |
.WillRepeatedly(Return(manager_.get())); |
@@ -215,7 +215,7 @@ class PasswordManagerTest : public testing::Test { |
TestPasswordManager* manager() { return manager_.get(); } |
void OnPasswordFormSubmitted(const autofill::PasswordForm& form) { |
- manager()->OnPasswordFormSubmitted(form); |
+ manager()->OnPasswordFormSubmitted(&driver_, form); |
} |
PasswordManager::PasswordSubmittedCallback SubmissionCallback() { |
@@ -255,8 +255,10 @@ TEST_F(PasswordManagerTest, FormSubmitEmptyStore) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ // The initial load. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ // The initial layout. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// And the form submit contract is to call ProvisionallySavePassword. |
manager()->ProvisionallySavePassword(form); |
@@ -267,9 +269,10 @@ TEST_F(PasswordManagerTest, FormSubmitEmptyStore) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
- true); // The post-navigation layout. |
+ // The post-navigation load. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ // The post-navigation layout. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
ASSERT_TRUE(form_to_save.get()); |
EXPECT_CALL(*store_.get(), AddLogin(FormMatches(form))); |
@@ -289,8 +292,8 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyNewPasswordField) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeFormWithOnlyNewPasswordField()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// And the form submit contract is to call ProvisionallySavePassword. |
manager()->ProvisionallySavePassword(form); |
@@ -301,8 +304,8 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyNewPasswordField) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
ASSERT_TRUE(form_to_save.get()); |
@@ -333,11 +336,13 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSubmitEmptyStore) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ // The initial load. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ // The initial layout. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// Simulate the user generating the password and submitting the form. |
- manager()->SetFormHasGeneratedPassword(form); |
+ manager()->SetFormHasGeneratedPassword(&driver_, form); |
manager()->ProvisionallySavePassword(form); |
// The user should not be presented with an infobar as they have already given |
@@ -352,8 +357,9 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSubmitEmptyStore) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
} |
@@ -372,8 +378,9 @@ TEST_F(PasswordManagerTest, FormSubmitNoGoodMatch) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
manager()->ProvisionallySavePassword(form); |
// We still expect an add, since we didn't have a good match. |
@@ -383,8 +390,9 @@ TEST_F(PasswordManagerTest, FormSubmitNoGoodMatch) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
ASSERT_TRUE(form_to_save.get()); |
@@ -402,15 +410,17 @@ TEST_F(PasswordManagerTest, FormSeenThenLeftPage) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// No message from the renderer that a password was submitted. No |
// expected calls. |
EXPECT_CALL(client_, PromptUserToSavePasswordPtr(_)).Times(0); |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
} |
@@ -424,8 +434,9 @@ TEST_F(PasswordManagerTest, FormSubmitAfterNavigateInPage) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// Simulate navigating in the page. |
manager()->DidNavigateMainFrame(true); |
@@ -439,8 +450,9 @@ TEST_F(PasswordManagerTest, FormSubmitAfterNavigateInPage) { |
.WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save))); |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
ASSERT_FALSE(NULL == form_to_save.get()); |
@@ -468,9 +480,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithFormOnPreviousPage) { |
// Pretend that the form is hidden on the first page. |
std::vector<PasswordForm> observed; |
observed.push_back(first_form); |
- manager()->OnPasswordFormsParsed(observed); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
observed.clear(); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// Now navigate to a second page. |
manager()->DidNavigateMainFrame(false); |
@@ -478,8 +490,8 @@ TEST_F(PasswordManagerTest, FormSubmitWithFormOnPreviousPage) { |
// This page contains a form with the same markup, but on a different |
// URL. |
observed.push_back(second_form); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// Now submit this form |
OnPasswordFormSubmitted(second_form); |
@@ -489,8 +501,8 @@ TEST_F(PasswordManagerTest, FormSubmitWithFormOnPreviousPage) { |
EXPECT_CALL(client_, PromptUserToSavePasswordPtr(_)) |
.WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save))); |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
// Make sure that the saved form matches the second form, not the first. |
ASSERT_TRUE(form_to_save.get()); |
@@ -508,15 +520,16 @@ TEST_F(PasswordManagerTest, FormSubmitFailedLogin) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
manager()->ProvisionallySavePassword(form); |
// The form reappears, and is visible in the layout: |
// No expected calls to the PasswordStore... |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
} |
TEST_F(PasswordManagerTest, FormSubmitInvisibleLogin) { |
@@ -529,8 +542,9 @@ TEST_F(PasswordManagerTest, FormSubmitInvisibleLogin) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
manager()->ProvisionallySavePassword(form); |
@@ -540,9 +554,9 @@ TEST_F(PasswordManagerTest, FormSubmitInvisibleLogin) { |
.WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save))); |
// The form reappears, but is not visible in the layout: |
- manager()->OnPasswordFormsParsed(observed); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
observed.clear(); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
ASSERT_TRUE(form_to_save.get()); |
EXPECT_CALL(*store_.get(), AddLogin(FormMatches(form))); |
@@ -562,12 +576,14 @@ TEST_F(PasswordManagerTest, InitiallyInvisibleForm) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
observed.clear(); |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
} |
@@ -597,7 +613,7 @@ TEST_F(PasswordManagerTest, FillPasswordsOnDisabledManager) { |
std::vector<PasswordForm> observed; |
PasswordForm form(MakeSimpleForm()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
} |
TEST_F(PasswordManagerTest, FormSavedWithAutocompleteOff) { |
@@ -611,8 +627,9 @@ TEST_F(PasswordManagerTest, FormSavedWithAutocompleteOff) { |
PasswordForm form(MakeSimpleForm()); |
form.password_autocomplete_set = false; |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// And the form submit contract is to call ProvisionallySavePassword. |
manager()->ProvisionallySavePassword(form); |
@@ -625,8 +642,9 @@ TEST_F(PasswordManagerTest, FormSavedWithAutocompleteOff) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
ASSERT_TRUE(form_to_save.get()); |
@@ -643,11 +661,12 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSavedAutocompleteOff) { |
PasswordForm form(MakeSimpleForm()); |
form.password_autocomplete_set = false; |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// Simulate the user generating the password and submitting the form. |
- manager()->SetFormHasGeneratedPassword(form); |
+ manager()->SetFormHasGeneratedPassword(&driver_, form); |
manager()->ProvisionallySavePassword(form); |
// The user should not be presented with an infobar as they have already given |
@@ -662,8 +681,9 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSavedAutocompleteOff) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
} |
@@ -686,8 +706,9 @@ TEST_F(PasswordManagerTest, PasswordFormReappearance) { |
std::vector<PasswordForm> observed; |
PasswordForm login_form(MakeTwitterLoginForm()); |
observed.push_back(login_form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
manager()->ProvisionallySavePassword(login_form); |
@@ -696,8 +717,8 @@ TEST_F(PasswordManagerTest, PasswordFormReappearance) { |
observed.push_back(failed_login_form); |
// A PasswordForm appears, and is visible in the layout: |
// No expected calls to the PasswordStore... |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
} |
TEST_F(PasswordManagerTest, SavingNotEnabledOnSSLErrors) { |
@@ -719,7 +740,7 @@ TEST_F(PasswordManagerTest, AutofillingNotEnabledOnSSLErrors) { |
// Feed those forms to |manager()| and check that it does not try to find |
// matching saved credentials for the forms. |
EXPECT_CALL(*store_.get(), GetLogins(_, _, _)).Times(Exactly(0)); |
- manager()->OnPasswordFormsParsed(forms); |
+ manager()->OnPasswordFormsParsed(&driver_, forms); |
} |
TEST_F(PasswordManagerTest, SavingDisabledIfManagerDisabled) { |
@@ -739,7 +760,7 @@ TEST_F(PasswordManagerTest, AutofillingDisabledIfManagerDisabled) { |
// Feed those forms to |manager()| and check that it does not try to find |
// matching saved credentials for the forms. |
EXPECT_CALL(*store_.get(), GetLogins(_, _, _)).Times(Exactly(0)); |
- manager()->OnPasswordFormsParsed(forms); |
+ manager()->OnPasswordFormsParsed(&driver_, forms); |
} |
TEST_F(PasswordManagerTest, SyncCredentialsNotSaved) { |
@@ -755,8 +776,9 @@ TEST_F(PasswordManagerTest, SyncCredentialsNotSaved) { |
PasswordForm form(MakeSimpleForm()); |
form.password_autocomplete_set = false; |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// User should not be prompted and password should not be saved. |
EXPECT_CALL(client_, PromptUserToSavePasswordPtr(_)).Times(Exactly(0)); |
@@ -765,8 +787,8 @@ TEST_F(PasswordManagerTest, SyncCredentialsNotSaved) { |
// Submit form and finish navigation. |
manager()->ProvisionallySavePassword(form); |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
} |
// On failed login attempts, the retry-form can have action scheme changed from |
@@ -790,8 +812,8 @@ TEST_F(PasswordManagerTest, |
std::vector<PasswordForm> observed; |
observed.push_back(first_form); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
observed.clear(); |
// Now submit the |first_form|. |
@@ -803,8 +825,8 @@ TEST_F(PasswordManagerTest, |
// Verify that no prompt to save the password is shown. |
EXPECT_CALL(client_, PromptUserToSavePasswordPtr(_)).Times(Exactly(0)); |
- manager()->OnPasswordFormsParsed(observed); |
- manager()->OnPasswordFormsRendered(observed, true); |
+ manager()->OnPasswordFormsParsed(&driver_, observed); |
+ manager()->OnPasswordFormsRendered(&driver_, observed, true); |
observed.clear(); |
} |
@@ -819,8 +841,9 @@ TEST_F(PasswordManagerTest, DoNotUpdateWithEmptyPassword) { |
form.new_password_element = ASCIIToUTF16("new_password_element"); |
form.new_password_value.clear(); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// And the form submit contract is to call ProvisionallySavePassword. |
OnPasswordFormSubmitted(form); |
@@ -830,8 +853,9 @@ TEST_F(PasswordManagerTest, DoNotUpdateWithEmptyPassword) { |
// Now the password manager waits for the login to complete successfully. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
} |
@@ -848,8 +872,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyPassowrdField) { |
// Loads passsword form without username input field. |
PasswordForm form(MakeSimpleFormWithOnlyPasswordField()); |
observed.push_back(form); |
- manager()->OnPasswordFormsParsed(observed); // The initial load. |
- manager()->OnPasswordFormsRendered(observed, true); // The initial layout. |
+ manager()->OnPasswordFormsParsed(&driver_, observed); // The initial load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
+ true); // The initial layout. |
// And the form submit contract is to call ProvisionallySavePassword. |
manager()->ProvisionallySavePassword(form); |
@@ -860,8 +885,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyPassowrdField) { |
// Now the password manager waits for the navigation to complete. |
observed.clear(); |
- manager()->OnPasswordFormsParsed(observed); // The post-navigation load. |
- manager()->OnPasswordFormsRendered(observed, |
+ manager()->OnPasswordFormsParsed(&driver_, |
+ observed); // The post-navigation load. |
+ manager()->OnPasswordFormsRendered(&driver_, observed, |
true); // The post-navigation layout. |
ASSERT_TRUE(form_to_save.get()); |