#ifndef CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_WIN_H_
#define CHROME_BROWSER_PASSWORD_MANAGER_PASSWORD_STORE_WIN_H_
#include "base/memory/scoped_ptr.h"
#include "components/password_manager/core/browser/password_store_default.h"
class LoginDatabase;
class WebDataService;
namespace autofill {
struct PasswordForm;
}
class PasswordStoreWin : public PasswordStoreDefault {
public:
PasswordStoreWin(
scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner,
scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner,
LoginDatabase* login_database,
WebDataService* web_data_service);
virtual void Shutdown() OVERRIDE;
private:
class DBHandler;
virtual ~PasswordStoreWin();
void ShutdownOnDBThread();
virtual void GetLoginsImpl(
const autofill::PasswordForm& form,
AuthorizationPromptPolicy prompt_policy,
const ConsumerCallbackRunner& callback_runner) OVERRIDE;
void GetIE7LoginIfNecessary(
const autofill::PasswordForm& form,
const ConsumerCallbackRunner& callback_runner,
const std::vector<autofill::PasswordForm*>& matched_forms);
scoped_ptr<DBHandler> db_handler_;
DISALLOW_COPY_AND_ASSIGN(PasswordStoreWin);
};
#endif