Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(453)

Unified Diff: components/password_manager/core/browser/password_manager_unittest.cc

Issue 707173004: Refactor Autofill for out of process iframes (OOPIF). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: update tests, respond to review comments, cleanup Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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());

Powered by Google App Engine
This is Rietveld 408576698