Commit 39465779 authored by isherman@chromium.org's avatar isherman@chromium.org

Fix memory failures in PasswordManager tests

BUG=none
TEST=happy heapcheck bots
TBR=mdm@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9586023

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124778 0039d316-1c4b-4281-b951-d872f2087c98
parent 04550d10
......@@ -82,12 +82,12 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
if (form.password_value.empty())
return;
PasswordFormManager* manager = NULL;
scoped_ptr<PasswordFormManager> manager;
for (ScopedVector<PasswordFormManager>::iterator iter =
pending_login_managers_.begin();
iter != pending_login_managers_.end(); ++iter) {
if ((*iter)->DoesManage(form)) {
manager = *iter;
manager.reset(*iter);
pending_login_managers_.weak_erase(iter);
break;
}
......@@ -95,7 +95,7 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
// If we didn't find a manager, this means a form was submitted without
// first loading the page containing the form. Don't offer to save
// passwords in this case.
if (!manager)
if (!manager.get())
return;
// If we found a manager but it didn't finish matching yet, the user has
......@@ -115,7 +115,7 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
!delegate_->DidLastPageLoadEncounterSSLErrors();
provisionally_saved_form.preferred = true;
manager->ProvisionallySave(provisionally_saved_form);
provisional_save_manager_.reset(manager);
provisional_save_manager_.swap(manager);
}
void PasswordManager::SetObserver(LoginModelObserver* observer) {
......
......@@ -208,12 +208,16 @@ TEST_F(PasswordManagerTest, FormSeenThenLeftPage) {
manager()->OnPasswordFormsFound(observed); // The initial load.
manager()->OnPasswordFormsVisible(observed); // The initial layout.
PasswordForm empty_form(form);
empty_form.username_value = string16();
empty_form.password_value = string16();
content::LoadCommittedDetails details;
content::FrameNavigateParams params;
params.password_form = form;
params.password_form = empty_form;
manager()->DidNavigateAnyFrame(details, params);
// No expected calls.
EXPECT_CALL(delegate_, AddSavePasswordInfoBar(_)).Times(0);
manager()->DidStopLoading();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment