Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(188)

Unified Diff: chrome/browser/password_manager/password_store_win.cc

Issue 6646051: Fix DCHECK, memory leak, and refactor PasswordStore to use CancelableRequest (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: git try works all platforms now. Created 9 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 d31098ecce5efab22c9f5fa686f954bfe9e90f06..c5b875a0deba9a65824c2e7d9b4e8601c228e871 100644
--- a/chrome/browser/password_manager/password_store_win.cc
+++ b/chrome/browser/password_manager/password_store_win.cc
@@ -36,14 +36,13 @@ int PasswordStoreWin::GetLogins(const webkit_glue::PasswordForm& form,
return request_handle;
}
-void PasswordStoreWin::NotifyConsumer(GetLoginsRequest* request,
- const std::vector<PasswordForm*> forms) {
- if (!forms.empty()) {
- pending_request_forms_.erase(request->handle);
- PasswordStore::NotifyConsumer(request, forms);
+void PasswordStoreWin::ForwardLoginsResult(GetLoginsRequest* request) {
+ if (!request->value.empty()) {
+ pending_request_forms_.erase(request->handle());
+ PasswordStore::ForwardLoginsResult(request);
} else {
PendingRequestFormMap::iterator it(pending_request_forms_.find(
- request->handle));
+ request->handle()));
if (it != pending_request_forms_.end()) {
IE7PasswordInfo info;
std::wstring url = ASCIIToWide(it->second.origin.spec());
@@ -69,16 +68,15 @@ void PasswordStoreWin::OnWebDataServiceRequestDone(
// This is a response from WebDataService::GetIE7Login.
PendingRequestFormMap::iterator it(pending_request_forms_.find(
- request->handle));
+ request->handle()));
DCHECK(pending_request_forms_.end() != it);
PasswordForm* ie7_form = GetIE7Result(result, it->second);
- std::vector<PasswordForm*> forms;
if (ie7_form)
- forms.push_back(ie7_form);
+ request->value.push_back(ie7_form);
pending_request_forms_.erase(it);
- PasswordStore::NotifyConsumer(request.release(), forms);
+ PasswordStore::ForwardLoginsResult(request.release());
} else {
PasswordStoreDefault::OnWebDataServiceRequestDone(handle, result);
}

Powered by Google App Engine
This is Rietveld 408576698