summaryrefslogtreecommitdiffstats
path: root/chrome
diff options
context:
space:
mode:
Diffstat (limited to 'chrome')
-rw-r--r--chrome/browser/dom_ui/options/password_manager_handler.cc20
-rw-r--r--chrome/browser/dom_ui/options/password_manager_handler.h16
2 files changed, 24 insertions, 12 deletions
diff --git a/chrome/browser/dom_ui/options/password_manager_handler.cc b/chrome/browser/dom_ui/options/password_manager_handler.cc
index b6769e6b..0c9eaa5 100644
--- a/chrome/browser/dom_ui/options/password_manager_handler.cc
+++ b/chrome/browser/dom_ui/options/password_manager_handler.cc
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 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.
@@ -153,6 +153,19 @@ void PasswordManagerHandler::SetPasswordExceptionList() {
L"PasswordManager.setPasswordExceptionsList", entries);
}
+PasswordManagerHandler::ListPopulater::ListPopulater(
+ PasswordManagerHandler* page) : page_(page),
+ pending_login_query_(0) {
+}
+
+PasswordManagerHandler::ListPopulater::~ListPopulater() {
+ page_->GetPasswordStore()->CancelLoginsQuery(pending_login_query_);
+}
+
+PasswordManagerHandler::PasswordListPopulater::PasswordListPopulater(
+ PasswordManagerHandler* page) : ListPopulater(page) {
+}
+
void PasswordManagerHandler::PasswordListPopulater::Populate() {
DCHECK(!pending_login_query_);
PasswordStore* store = page_->GetPasswordStore();
@@ -171,6 +184,11 @@ void PasswordManagerHandler::PasswordListPopulater::
page_->SetPasswordList();
}
+PasswordManagerHandler::PasswordExceptionListPopulater::
+ PasswordExceptionListPopulater(PasswordManagerHandler* page)
+ : ListPopulater(page) {
+}
+
void PasswordManagerHandler::PasswordExceptionListPopulater::Populate() {
DCHECK(!pending_login_query_);
PasswordStore* store = page_->GetPasswordStore();
diff --git a/chrome/browser/dom_ui/options/password_manager_handler.h b/chrome/browser/dom_ui/options/password_manager_handler.h
index 5cd3080..af94e6b 100644
--- a/chrome/browser/dom_ui/options/password_manager_handler.h
+++ b/chrome/browser/dom_ui/options/password_manager_handler.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2010 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.
@@ -56,10 +56,8 @@ class PasswordManagerHandler : public OptionsPageUIHandler {
// A short class to mediate requests to the password store.
class ListPopulater : public PasswordStoreConsumer {
public:
- explicit ListPopulater(PasswordManagerHandler* page)
- : page_(page),
- pending_login_query_(0) {
- }
+ explicit ListPopulater(PasswordManagerHandler* page);
+ virtual ~ListPopulater();
// Send a query to the password store to populate a list.
virtual void Populate() = 0;
@@ -76,9 +74,7 @@ class PasswordManagerHandler : public OptionsPageUIHandler {
// A short class to mediate requests to the password store for passwordlist.
class PasswordListPopulater : public ListPopulater {
public:
- explicit PasswordListPopulater(PasswordManagerHandler* page)
- : ListPopulater(page) {
- }
+ explicit PasswordListPopulater(PasswordManagerHandler* page);
// Send a query to the password store to populate a password list.
virtual void Populate();
@@ -91,9 +87,7 @@ class PasswordManagerHandler : public OptionsPageUIHandler {
// A short class to mediate requests to the password store for exceptions.
class PasswordExceptionListPopulater : public ListPopulater {
public:
- explicit PasswordExceptionListPopulater(
- PasswordManagerHandler* page) : ListPopulater(page) {
- }
+ explicit PasswordExceptionListPopulater(PasswordManagerHandler* page);
// Send a query to the password store to populate a passwordException list.
virtual void Populate();