| 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 f1b9c07c3abf2f5b90ecfd3e6989b69c2ea5ee96..d0895e8c8b57054d7f483067314842dc94073955 100644
|
| --- a/components/password_manager/core/browser/password_manager_unittest.cc
|
| +++ b/components/password_manager/core/browser/password_manager_unittest.cc
|
| @@ -61,8 +61,9 @@
|
| MOCK_CONST_METHOD0(IsSavingAndFillingEnabledForCurrentPage, bool());
|
| MOCK_CONST_METHOD0(DidLastPageLoadEncounterSSLErrors, bool());
|
| MOCK_CONST_METHOD0(GetPasswordStore, PasswordStore*());
|
| - MOCK_METHOD2(PromptUserToSaveOrUpdatePassword,
|
| - bool(scoped_refptr<PasswordFormManager>, bool));
|
| + // The code inside EXPECT_CALL for PromptUserToSaveOrUpdatePasswordPtr owns
|
| + // the PasswordFormManager* argument.
|
| + MOCK_METHOD1(PromptUserToSaveOrUpdatePasswordPtr, void(PasswordFormManager*));
|
| MOCK_METHOD1(NotifySuccessfulLoginWithExistingPassword,
|
| void(const autofill::PasswordForm&));
|
| MOCK_METHOD0(AutomaticPasswordSaveIndicator, void());
|
| @@ -71,8 +72,15 @@
|
| MOCK_METHOD0(GetDriver, PasswordManagerDriver*());
|
| MOCK_CONST_METHOD0(GetStoreResultFilter, const MockStoreResultFilter*());
|
|
|
| + // Workaround for std::unique_ptr<> lacking a copy constructor.
|
| + bool PromptUserToSaveOrUpdatePassword(
|
| + std::unique_ptr<PasswordFormManager> manager,
|
| + bool update_password) override {
|
| + PromptUserToSaveOrUpdatePasswordPtr(manager.release());
|
| + return false;
|
| + }
|
| void AutomaticPasswordSave(
|
| - scoped_refptr<PasswordFormManager> manager) override {
|
| + std::unique_ptr<PasswordFormManager> manager) override {
|
| AutomaticPasswordSaveIndicator();
|
| }
|
|
|
| @@ -101,6 +109,8 @@
|
| ACTION(InvokeEmptyConsumerWithForms) {
|
| arg0->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>());
|
| }
|
| +
|
| +ACTION_P(SaveToScopedPtr, scoped) { scoped->reset(arg0); }
|
|
|
| } // namespace
|
|
|
| @@ -261,9 +271,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -303,7 +313,7 @@
|
| // consent by using the generated password. The form should be saved once
|
| // navigation occurs. The client will be informed that automatic saving has
|
| // occured.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| PasswordForm form_to_save;
|
| EXPECT_CALL(*store_, AddLogin(_)).WillOnce(SaveArg<0>(&form_to_save));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator());
|
| @@ -339,9 +349,9 @@
|
| OnPasswordFormSubmitted(form);
|
|
|
| // We still expect an add, since we didn't have a good match.
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -365,7 +375,7 @@
|
|
|
| // No message from the renderer that a password was submitted. No
|
| // expected calls.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -387,9 +397,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -436,9 +446,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(second_form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| // Navigation after form submit, no forms appear.
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -467,9 +477,9 @@
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Expect info bar to appear:
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // The form reappears, but is not visible in the layout:
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -541,7 +551,7 @@
|
| observed.push_back(MakeTwitterFailedLoginForm());
|
| // A PasswordForm appears, and is visible in the layout:
|
| // No expected calls to the PasswordStore...
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(*store_, UpdateLogin(_)).Times(0);
|
| @@ -561,7 +571,7 @@
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|
| // User should not be prompted and password should not be saved.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| // Prefs are needed for failure logging about sync credentials.
|
| EXPECT_CALL(client_, GetPrefs()).WillRepeatedly(Return(nullptr));
|
| @@ -588,7 +598,7 @@
|
| // |observed_form| and not the |stored_form| what is passed to ShouldSave.
|
| observed_form.username_element += ASCIIToUTF16("1");
|
| observed.push_back(observed_form);
|
| - EXPECT_CALL(driver_, FillPasswordForm(_)).Times(3);
|
| + EXPECT_CALL(driver_, FillPasswordForm(_)).Times(2);
|
| // Simulate that |form| is already in the store, making this an update.
|
| EXPECT_CALL(*store_, GetLogins(_, _))
|
| .WillRepeatedly(WithArg<1>(InvokeConsumer(stored_form)));
|
| @@ -674,7 +684,7 @@
|
| // Because the user successfully uses an updated sync password, Chrome should
|
| // remove the obsolete copy of it.
|
| EXPECT_CALL(*store_, RemoveLogin(form));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -711,7 +721,7 @@
|
| first_form.origin = GURL("http://www.xda-developers.com/");
|
| first_form.action = GURL("http://forum.xda-developers.com/login.php");
|
|
|
| - // |second_form|'s action differs only with it's scheme i.e. "https://".
|
| + // |second_form|'s action differs only with it's scheme i.e. *https://*.
|
| PasswordForm second_form(first_form);
|
| second_form.action = GURL("https://forum.xda-developers.com/login.php");
|
|
|
| @@ -732,7 +742,7 @@
|
| observed.push_back(second_form);
|
|
|
| // Verify that no prompt to save the password is shown.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| }
|
| @@ -804,9 +814,9 @@
|
|
|
| // Make sure |PromptUserToSaveOrUpdatePassword| gets called, and the resulting
|
| // form manager is saved.
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| EXPECT_CALL(client_, GetMainFrameURL())
|
| .WillRepeatedly(ReturnRef(insecure_form.origin));
|
| @@ -819,7 +829,7 @@
|
|
|
| // Expect no further calls to |ProptUserToSaveOrUpdatePassword| due to
|
| // insecure origin.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
|
|
| // Trigger call to |ProvisionalSavePassword| by rendering a page without
|
| // forms.
|
| @@ -855,9 +865,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the login to complete successfully.
|
| observed.clear();
|
| @@ -888,9 +898,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -931,22 +941,18 @@
|
| PasswordForm form(MakeSimpleForm());
|
| observed.push_back(form);
|
| EXPECT_CALL(*store_, GetLogins(_, _))
|
| - .Times(2)
|
| - .WillRepeatedly(WithArg<1>(InvokeEmptyConsumerWithForms()));
|
| - manager()->OnPasswordFormsParsed(&driver_, observed);
|
| - manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| -
|
| - EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| - .WillRepeatedly(Return(true));
|
| -
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + .WillOnce(WithArg<1>(InvokeEmptyConsumerWithForms()));
|
| + manager()->OnPasswordFormsParsed(&driver_, observed);
|
| + manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| +
|
| + EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| + .WillRepeatedly(Return(true));
|
| +
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| manager()->OnInPageNavigation(&driver_, form);
|
| -
|
| - // Checks |form_manager_to_save| is still in |pending_login_managers_|.
|
| - EXPECT_EQ(1u, manager()->pending_login_managers().size());
|
|
|
| // Simulate saving the form, as if the info bar was accepted.
|
| EXPECT_CALL(*store_, AddLogin(FormMatches(form)));
|
| @@ -974,9 +980,9 @@
|
| // Prefs are needed for failure logging about blacklisting.
|
| EXPECT_CALL(client_, GetPrefs()).WillRepeatedly(Return(nullptr));
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| manager()->OnInPageNavigation(&driver_, form);
|
| EXPECT_TRUE(form_manager_to_save->IsBlacklisted());
|
| @@ -1009,9 +1015,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(submitted_form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1062,9 +1068,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(submitted_form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1114,9 +1120,9 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1147,7 +1153,7 @@
|
|
|
| autofill::PasswordForm updated_form;
|
| autofill::PasswordForm notified_form;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(*store_, UpdateLogin(_)).WillOnce(SaveArg<0>(&updated_form));
|
| EXPECT_CALL(client_, NotifySuccessfulLoginWithExistingPassword(_))
|
| .WillOnce(SaveArg<0>(¬ified_form));
|
| @@ -1187,9 +1193,9 @@
|
| static_cast<FormFetcherImpl*>(form_manager->form_fetcher())
|
| ->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>());
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1216,7 +1222,7 @@
|
| manager()->SetHasGeneratedPasswordForForm(&driver_, form, true);
|
|
|
| // Do not save generated password when the password form reappears.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| @@ -1248,7 +1254,7 @@
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Do not save generated password when the password form reappears.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| @@ -1282,7 +1288,7 @@
|
| OnPasswordFormSubmitted(form);
|
|
|
| // No infobar or prompt is shown if submission fails.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| // Simulate submission failing, with the same form being visible after
|
| @@ -1314,9 +1320,9 @@
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Verify that a normal prompt is shown instead of the force saving UI.
|
| - scoped_refptr<PasswordFormManager> form_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save)));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| // Simulate a successful submission.
|
| @@ -1344,7 +1350,7 @@
|
| form.username_value = ASCIIToUTF16("new_username");
|
| OnPasswordFormSubmitted(form);
|
|
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| PasswordForm form_to_save;
|
| EXPECT_CALL(*store_, AddLogin(_)).WillOnce(SaveArg<0>(&form_to_save));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator());
|
| @@ -1407,12 +1413,12 @@
|
| .WillRepeatedly(WithArg<1>(InvokeEmptyConsumerWithForms()));
|
| EXPECT_CALL(*store_, GetLoginsForSameOrganizationName(_, _));
|
| }
|
| - scoped_refptr<PasswordFormManager> form_manager;
|
| + std::unique_ptr<PasswordFormManager> form_manager;
|
| if (found_matched_logins_in_store) {
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager), Return(false)));
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager)));
|
| } else {
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| }
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator())
|
| .Times(found_matched_logins_in_store ? 0 : 1);
|
| @@ -1479,11 +1485,11 @@
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| - .WillRepeatedly(Return(true));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| + .WillRepeatedly(Return(true));
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| manager()->OnPasswordFormForceSaveRequested(&driver_, form);
|
| ASSERT_TRUE(form_manager_to_save);
|
| EXPECT_EQ(form.password_value,
|
| @@ -1508,7 +1514,7 @@
|
|
|
| EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| .WillRepeatedly(Return(true));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| manager()->OnPasswordFormForceSaveRequested(&driver_, empty_password_form);
|
| }
|
|
|
| @@ -1549,7 +1555,7 @@
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -1585,7 +1591,7 @@
|
| PasswordForm saved_form;
|
| PasswordForm saved_notified_form;
|
| EXPECT_CALL(*store_, UpdateLogin(_)).WillOnce(SaveArg<0>(&saved_form));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| EXPECT_CALL(client_, NotifySuccessfulLoginWithExistingPassword(_))
|
| .WillOnce(SaveArg<0>(&saved_notified_form));
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| @@ -1623,9 +1629,9 @@
|
| filled_form.password_value = ASCIIToUTF16("new_password");
|
| OnPasswordFormSubmitted(filled_form);
|
|
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| observed_forms.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed_forms);
|
| @@ -1674,9 +1680,9 @@
|
| observed[0].new_password_value.clear();
|
|
|
| // Check success of the submission.
|
| - scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| - .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| + std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| + .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
|
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|