| Index: chrome/browser/password_manager/password_store_win.cc
|
| diff --git a/chrome/browser/password_manager/password_store_win.cc b/chrome/browser/password_manager/password_store_win.cc
|
| index 5d67dafb97a3aac4a620cd828670df97375b0c12..3db362c0a985aead04661581636d1ab3d922f20e 100644
|
| --- a/chrome/browser/password_manager/password_store_win.cc
|
| +++ b/chrome/browser/password_manager/password_store_win.cc
|
| @@ -54,7 +54,7 @@ class PasswordStoreWin::DBHandler : public WebDataServiceConsumer {
|
|
|
| // Gets logins from IE7 if no others are found. Also copies them into
|
| // Chrome's WebDatabase so we don't need to look next time.
|
| - std::vector<autofill::PasswordForm*> GetIE7Results(
|
| + ScopedVector<autofill::PasswordForm> GetIE7Results(
|
| const WDTypedResult* result,
|
| const PasswordForm& form);
|
|
|
| @@ -97,12 +97,11 @@ void PasswordStoreWin::DBHandler::GetIE7Login(
|
| RequestInfo(new PasswordForm(form), callback_runner);
|
| }
|
|
|
| -std::vector<PasswordForm*> PasswordStoreWin::DBHandler::GetIE7Results(
|
| - const WDTypedResult *result,
|
| +ScopedVector<autofill::PasswordForm> PasswordStoreWin::DBHandler::GetIE7Results(
|
| + const WDTypedResult* result,
|
| const PasswordForm& form) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| - std::vector<PasswordForm*> matching_forms;
|
| -
|
| + ScopedVector<autofill::PasswordForm> matched_forms;
|
| const WDResult<IE7PasswordInfo>* r =
|
| static_cast<const WDResult<IE7PasswordInfo>*>(result);
|
| IE7PasswordInfo info = r->GetValue();
|
| @@ -127,14 +126,14 @@ std::vector<PasswordForm*> PasswordStoreWin::DBHandler::GetIE7Results(
|
| autofill->ssl_valid = form.origin.SchemeIsSecure();
|
| autofill->date_created = info.date_created;
|
|
|
| - matching_forms.push_back(autofill);
|
| + matched_forms.push_back(autofill);
|
| // Add this PasswordForm to the saved password table. We're on the DB
|
| // thread already, so we use AddLoginImpl.
|
| password_store_->AddLoginImpl(*autofill);
|
| }
|
| }
|
| }
|
| - return matching_forms;
|
| + return matched_forms.Pass();
|
| }
|
|
|
| void PasswordStoreWin::DBHandler::OnWebDataServiceRequestDone(
|
| @@ -153,15 +152,12 @@ void PasswordStoreWin::DBHandler::OnWebDataServiceRequestDone(
|
| if (!result) {
|
| // The WDS returns NULL if it is shutting down. Run callback with empty
|
| // result.
|
| - callback_runner.Run(std::vector<autofill::PasswordForm*>());
|
| + callback_runner.Run(ScopedVector<autofill::PasswordForm>());
|
| return;
|
| }
|
|
|
| DCHECK_EQ(PASSWORD_IE7_RESULT, result->GetType());
|
| - std::vector<autofill::PasswordForm*> matched_forms =
|
| - GetIE7Results(result, *form);
|
| -
|
| - callback_runner.Run(matched_forms);
|
| + callback_runner.Run(GetIE7Results(result, *form));
|
| }
|
|
|
| PasswordStoreWin::PasswordStoreWin(
|
| @@ -193,13 +189,13 @@ void PasswordStoreWin::Shutdown() {
|
| void PasswordStoreWin::GetIE7LoginIfNecessary(
|
| const PasswordForm& form,
|
| const ConsumerCallbackRunner& callback_runner,
|
| - const std::vector<autofill::PasswordForm*>& matched_forms) {
|
| + ScopedVector<autofill::PasswordForm> matched_forms) {
|
| DCHECK(BrowserThread::CurrentlyOn(BrowserThread::DB));
|
| - if (matched_forms.empty() && db_handler_.get()) {
|
| + if (matched_forms.empty() && db_handler_) {
|
| db_handler_->GetIE7Login(form, callback_runner);
|
| } else {
|
| // No need to get IE7 login.
|
| - callback_runner.Run(matched_forms);
|
| + callback_runner.Run(matched_forms.Pass());
|
| }
|
| }
|
|
|
|
|