| 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 d0895e8c8b57054d7f483067314842dc94073955..f1b9c07c3abf2f5b90ecfd3e6989b69c2ea5ee96 100644
|
| --- a/components/password_manager/core/browser/password_manager_unittest.cc
|
| +++ b/components/password_manager/core/browser/password_manager_unittest.cc
|
| @@ -61,9 +61,8 @@ class MockPasswordManagerClient : public StubPasswordManagerClient {
|
| MOCK_CONST_METHOD0(IsSavingAndFillingEnabledForCurrentPage, bool());
|
| MOCK_CONST_METHOD0(DidLastPageLoadEncounterSSLErrors, bool());
|
| MOCK_CONST_METHOD0(GetPasswordStore, PasswordStore*());
|
| - // The code inside EXPECT_CALL for PromptUserToSaveOrUpdatePasswordPtr owns
|
| - // the PasswordFormManager* argument.
|
| - MOCK_METHOD1(PromptUserToSaveOrUpdatePasswordPtr, void(PasswordFormManager*));
|
| + MOCK_METHOD2(PromptUserToSaveOrUpdatePassword,
|
| + bool(scoped_refptr<PasswordFormManager>, bool));
|
| MOCK_METHOD1(NotifySuccessfulLoginWithExistingPassword,
|
| void(const autofill::PasswordForm&));
|
| MOCK_METHOD0(AutomaticPasswordSaveIndicator, void());
|
| @@ -72,15 +71,8 @@ class MockPasswordManagerClient : public StubPasswordManagerClient {
|
| 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(
|
| - std::unique_ptr<PasswordFormManager> manager) override {
|
| + scoped_refptr<PasswordFormManager> manager) override {
|
| AutomaticPasswordSaveIndicator();
|
| }
|
|
|
| @@ -110,8 +102,6 @@ ACTION(InvokeEmptyConsumerWithForms) {
|
| arg0->OnGetPasswordStoreResults(std::vector<std::unique_ptr<PasswordForm>>());
|
| }
|
|
|
| -ACTION_P(SaveToScopedPtr, scoped) { scoped->reset(arg0); }
|
| -
|
| } // namespace
|
|
|
| class PasswordManagerTest : public testing::Test {
|
| @@ -271,9 +261,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyNewPasswordField) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -313,7 +303,7 @@ TEST_F(PasswordManagerTest, GeneratedPasswordFormSubmitEmptyStore) {
|
| // 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_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| PasswordForm form_to_save;
|
| EXPECT_CALL(*store_, AddLogin(_)).WillOnce(SaveArg<0>(&form_to_save));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator());
|
| @@ -349,9 +339,9 @@ TEST_F(PasswordManagerTest, FormSubmitNoGoodMatch) {
|
| OnPasswordFormSubmitted(form);
|
|
|
| // We still expect an add, since we didn't have a good match.
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -375,7 +365,7 @@ TEST_F(PasswordManagerTest, FormSeenThenLeftPage) {
|
|
|
| // No message from the renderer that a password was submitted. No
|
| // expected calls.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -397,9 +387,9 @@ TEST_F(PasswordManagerTest, FormSubmit) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -446,9 +436,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithFormOnPreviousPage) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(second_form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| // Navigation after form submit, no forms appear.
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -477,9 +467,9 @@ TEST_F(PasswordManagerTest, FormSubmitInvisibleLogin) {
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Expect info bar to appear:
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // The form reappears, but is not visible in the layout:
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| @@ -551,7 +541,7 @@ TEST_F(PasswordManagerTest, PasswordFormReappearance) {
|
| observed.push_back(MakeTwitterFailedLoginForm());
|
| // A PasswordForm appears, and is visible in the layout:
|
| // No expected calls to the PasswordStore...
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(*store_, UpdateLogin(_)).Times(0);
|
| @@ -571,7 +561,7 @@ TEST_F(PasswordManagerTest, SyncCredentialsNotSaved) {
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|
| // User should not be prompted and password should not be saved.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| // Prefs are needed for failure logging about sync credentials.
|
| EXPECT_CALL(client_, GetPrefs()).WillRepeatedly(Return(nullptr));
|
| @@ -598,7 +588,7 @@ TEST_F(PasswordManagerTest, ReportFormLoginSuccessAndShouldSaveCalled) {
|
| // |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(2);
|
| + EXPECT_CALL(driver_, FillPasswordForm(_)).Times(3);
|
| // Simulate that |form| is already in the store, making this an update.
|
| EXPECT_CALL(*store_, GetLogins(_, _))
|
| .WillRepeatedly(WithArg<1>(InvokeConsumer(stored_form)));
|
| @@ -684,7 +674,7 @@ TEST_F(PasswordManagerTest, SyncCredentialsDroppedWhenObsolete) {
|
| // 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_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -721,7 +711,7 @@ TEST_F(PasswordManagerTest,
|
| 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");
|
|
|
| @@ -742,7 +732,7 @@ TEST_F(PasswordManagerTest,
|
| observed.push_back(second_form);
|
|
|
| // Verify that no prompt to save the password is shown.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| }
|
| @@ -814,9 +804,9 @@ TEST_F(PasswordManagerTest, AttemptedSavePasswordSameOriginInsecureScheme) {
|
|
|
| // Make sure |PromptUserToSaveOrUpdatePassword| gets called, and the resulting
|
| // form manager is saved.
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| EXPECT_CALL(client_, GetMainFrameURL())
|
| .WillRepeatedly(ReturnRef(insecure_form.origin));
|
| @@ -829,7 +819,7 @@ TEST_F(PasswordManagerTest, AttemptedSavePasswordSameOriginInsecureScheme) {
|
|
|
| // Expect no further calls to |ProptUserToSaveOrUpdatePassword| due to
|
| // insecure origin.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
|
|
| // Trigger call to |ProvisionalSavePassword| by rendering a page without
|
| // forms.
|
| @@ -865,9 +855,9 @@ TEST_F(PasswordManagerTest, DoNotSaveWithEmptyNewPasswordAndNonemptyPassword) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the login to complete successfully.
|
| observed.clear();
|
| @@ -898,9 +888,9 @@ TEST_F(PasswordManagerTest, FormSubmitWithOnlyPasswordField) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -941,19 +931,23 @@ TEST_F(PasswordManagerTest, InPageNavigation) {
|
| PasswordForm form(MakeSimpleForm());
|
| observed.push_back(form);
|
| EXPECT_CALL(*store_, GetLogins(_, _))
|
| - .WillOnce(WithArg<1>(InvokeEmptyConsumerWithForms()));
|
| + .Times(2)
|
| + .WillRepeatedly(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)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| 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)));
|
| ASSERT_TRUE(form_manager_to_save);
|
| @@ -980,9 +974,9 @@ TEST_F(PasswordManagerTest, InPageNavigationBlacklistedSite) {
|
| // Prefs are needed for failure logging about blacklisting.
|
| EXPECT_CALL(client_, GetPrefs()).WillRepeatedly(Return(nullptr));
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| manager()->OnInPageNavigation(&driver_, form);
|
| EXPECT_TRUE(form_manager_to_save->IsBlacklisted());
|
| @@ -1015,9 +1009,9 @@ TEST_F(PasswordManagerTest, SavingSignupForms_NoHTMLMatch) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(submitted_form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1068,9 +1062,9 @@ TEST_F(PasswordManagerTest, SavingSignupForms_NoActionMatch) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(submitted_form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1120,9 +1114,9 @@ TEST_F(PasswordManagerTest, FormSubmittedChangedWithAutofillResponse) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1153,7 +1147,7 @@ TEST_F(PasswordManagerTest, FormSubmittedUnchangedNotifiesClient) {
|
|
|
| autofill::PasswordForm updated_form;
|
| autofill::PasswordForm notified_form;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(*store_, UpdateLogin(_)).WillOnce(SaveArg<0>(&updated_form));
|
| EXPECT_CALL(client_, NotifySuccessfulLoginWithExistingPassword(_))
|
| .WillOnce(SaveArg<0>(¬ified_form));
|
| @@ -1193,9 +1187,9 @@ TEST_F(PasswordManagerTest, SaveFormFetchedAfterSubmit) {
|
| 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_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| // Now the password manager waits for the navigation to complete.
|
| observed.clear();
|
| @@ -1222,7 +1216,7 @@ TEST_F(PasswordManagerTest, PasswordGeneration_FailedSubmission) {
|
| manager()->SetHasGeneratedPasswordForForm(&driver_, form, true);
|
|
|
| // Do not save generated password when the password form reappears.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| @@ -1254,7 +1248,7 @@ TEST_F(PasswordManagerTest, PasswordGenerationPasswordEdited_FailedSubmission) {
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Do not save generated password when the password form reappears.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| @@ -1288,7 +1282,7 @@ TEST_F(PasswordManagerTest,
|
| OnPasswordFormSubmitted(form);
|
|
|
| // No infobar or prompt is shown if submission fails.
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| // Simulate submission failing, with the same form being visible after
|
| @@ -1320,9 +1314,9 @@ TEST_F(PasswordManagerTest,
|
| OnPasswordFormSubmitted(form);
|
|
|
| // Verify that a normal prompt is shown instead of the force saving UI.
|
| - std::unique_ptr<PasswordFormManager> form_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_to_save), Return(false)));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator()).Times(0);
|
|
|
| // Simulate a successful submission.
|
| @@ -1350,7 +1344,7 @@ TEST_F(PasswordManagerTest, PasswordGenerationUsernameChanged) {
|
| form.username_value = ASCIIToUTF16("new_username");
|
| OnPasswordFormSubmitted(form);
|
|
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| PasswordForm form_to_save;
|
| EXPECT_CALL(*store_, AddLogin(_)).WillOnce(SaveArg<0>(&form_to_save));
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator());
|
| @@ -1413,12 +1407,12 @@ TEST_F(PasswordManagerTest, PasswordGenerationPresavePasswordAndLogin) {
|
| .WillRepeatedly(WithArg<1>(InvokeEmptyConsumerWithForms()));
|
| EXPECT_CALL(*store_, GetLoginsForSameOrganizationName(_, _));
|
| }
|
| - std::unique_ptr<PasswordFormManager> form_manager;
|
| + scoped_refptr<PasswordFormManager> form_manager;
|
| if (found_matched_logins_in_store) {
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager)));
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager), Return(false)));
|
| } else {
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| }
|
| EXPECT_CALL(client_, AutomaticPasswordSaveIndicator())
|
| .Times(found_matched_logins_in_store ? 0 : 1);
|
| @@ -1485,11 +1479,11 @@ TEST_F(PasswordManagerTest, ForceSavingPasswords) {
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| .WillRepeatedly(Return(true));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
| manager()->OnPasswordFormForceSaveRequested(&driver_, form);
|
| ASSERT_TRUE(form_manager_to_save);
|
| EXPECT_EQ(form.password_value,
|
| @@ -1514,7 +1508,7 @@ TEST_F(PasswordManagerTest, ForceSavingPasswords_Empty) {
|
|
|
| EXPECT_CALL(client_, IsSavingAndFillingEnabledForCurrentPage())
|
| .WillRepeatedly(Return(true));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| manager()->OnPasswordFormForceSaveRequested(&driver_, empty_password_form);
|
| }
|
|
|
| @@ -1555,7 +1549,7 @@ TEST_F(PasswordManagerTest, DropFormManagers) {
|
| .WillRepeatedly(Return(true));
|
| OnPasswordFormSubmitted(form);
|
|
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| observed.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
| @@ -1591,7 +1585,7 @@ TEST_F(PasswordManagerTest, AutofillingOfAffiliatedCredentials) {
|
| PasswordForm saved_form;
|
| PasswordForm saved_notified_form;
|
| EXPECT_CALL(*store_, UpdateLogin(_)).WillOnce(SaveArg<0>(&saved_form));
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_)).Times(0);
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _)).Times(0);
|
| EXPECT_CALL(client_, NotifySuccessfulLoginWithExistingPassword(_))
|
| .WillOnce(SaveArg<0>(&saved_notified_form));
|
| EXPECT_CALL(*store_, AddLogin(_)).Times(0);
|
| @@ -1629,9 +1623,9 @@ TEST_F(PasswordManagerTest, UpdatePasswordOfAffiliatedCredential) {
|
| filled_form.password_value = ASCIIToUTF16("new_password");
|
| OnPasswordFormSubmitted(filled_form);
|
|
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| observed_forms.clear();
|
| manager()->OnPasswordFormsParsed(&driver_, observed_forms);
|
| @@ -1680,9 +1674,9 @@ TEST_F(PasswordManagerTest, ClearedFieldsSuccessCriteria) {
|
| observed[0].new_password_value.clear();
|
|
|
| // Check success of the submission.
|
| - std::unique_ptr<PasswordFormManager> form_manager_to_save;
|
| - EXPECT_CALL(client_, PromptUserToSaveOrUpdatePasswordPtr(_))
|
| - .WillOnce(WithArg<0>(SaveToScopedPtr(&form_manager_to_save)));
|
| + scoped_refptr<PasswordFormManager> form_manager_to_save;
|
| + EXPECT_CALL(client_, PromptUserToSaveOrUpdatePassword(_, _))
|
| + .WillOnce(DoAll(SaveArg<0>(&form_manager_to_save), Return(false)));
|
|
|
| manager()->OnPasswordFormsParsed(&driver_, observed);
|
| manager()->OnPasswordFormsRendered(&driver_, observed, true);
|
|
|