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

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: use non-zero tests until http://crbug.com/77650 is addressed. 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..b6dc01dc13fc405021c327340613e78f0dda3c85 100644
--- a/chrome/browser/password_manager/password_store_win.cc
+++ b/chrome/browser/password_manager/password_store_win.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -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);
}
« no previous file with comments | « chrome/browser/password_manager/password_store_win.h ('k') | chrome/browser/password_manager/password_store_win_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698