| Index: chrome/browser/password_manager/password_store_mac.h
|
| diff --git a/chrome/browser/password_manager/password_store_mac.h b/chrome/browser/password_manager/password_store_mac.h
|
| index 4c14c37ded9a0a2d627141191196e6410fec3840..02bd85349c9240a72645af5306974500e28bf754 100644
|
| --- a/chrome/browser/password_manager/password_store_mac.h
|
| +++ b/chrome/browser/password_manager/password_store_mac.h
|
| @@ -31,6 +31,14 @@ class LoginDatabase;
|
| // http://dev.chromium.org/developers/design-documents/os-x-password-manager-keychain-integration
|
| class PasswordStoreMac : public password_manager::PasswordStore {
|
| public:
|
| + enum MigrationResult {
|
| + MIGRATION_OK,
|
| + LOGIN_DB_UNAVAILABLE,
|
| + LOGIN_DB_FAILURE,
|
| + ENCRYPTOR_FAILURE,
|
| + KEYCHAIN_BLOCKED,
|
| + };
|
| +
|
| PasswordStoreMac(
|
| scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner,
|
| scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner,
|
| @@ -41,6 +49,12 @@ class PasswordStoreMac : public password_manager::PasswordStore {
|
| void InitWithTaskRunner(
|
| scoped_refptr<base::SingleThreadTaskRunner> background_task_runner);
|
|
|
| + // Reads all the passwords from the Keychain and stores them in LoginDatabase.
|
| + // After the successful migration PasswordStoreMac should not be used. If the
|
| + // migration fails, PasswordStoreMac remains the active backend for
|
| + // PasswordStoreProxyMac.
|
| + MigrationResult ImportFromKeychain();
|
| +
|
| // To be used for testing.
|
| password_manager::LoginDatabase* login_metadata_db() const {
|
| return login_metadata_db_;
|
|
|