Index: chrome/browser/password_manager/password_manager.cc |
diff --git a/chrome/browser/password_manager/password_manager.cc b/chrome/browser/password_manager/password_manager.cc |
index e235fa28e485c5e3dc4ea6c012806ed1e5381e4e..0eb421e708a397f678606881b4e7f5ef750d80c6 100644 |
--- a/chrome/browser/password_manager/password_manager.cc |
+++ b/chrome/browser/password_manager/password_manager.cc |
@@ -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); |
dhollowa
2012/03/02 23:49:35
A comment here would be nice. "Transfer ownership
|
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) { |