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 9ddbf53dc089985f9649ae63508895e14e6be463..4c14c37ded9a0a2d627141191196e6410fec3840 100644 |
--- a/chrome/browser/password_manager/password_store_mac.h |
+++ b/chrome/browser/password_manager/password_store_mac.h |
@@ -22,6 +22,8 @@ namespace password_manager { |
class LoginDatabase; |
} |
+// TODO(vasilii): Deprecate this class. The class should be used by |
+// PasswordStoreProxyMac wrapper. |
// Implements PasswordStore on top of the OS X Keychain, with an internal |
// database for extra metadata. For an overview of the interactions with the |
// Keychain, as well as the rationale for some of the behaviors, see the |
@@ -29,23 +31,19 @@ class LoginDatabase; |
// http://dev.chromium.org/developers/design-documents/os-x-password-manager-keychain-integration |
class PasswordStoreMac : public password_manager::PasswordStore { |
public: |
- // The |login_db| must not have been Init()-ed yet. It will be initialized in |
- // a deferred manner on the background thread. |
PasswordStoreMac( |
scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner, |
scoped_refptr<base::SingleThreadTaskRunner> db_thread_runner, |
scoped_ptr<crypto::AppleKeychain> keychain, |
- scoped_ptr<password_manager::LoginDatabase> login_db); |
+ password_manager::LoginDatabase* login_db); |
- // Initializes |thread_|. |
- bool Init(const syncer::SyncableService::StartSyncFlare& flare) override; |
- |
- // Stops |thread_|. |
- void Shutdown() override; |
+ // Sets the background thread. |
+ void InitWithTaskRunner( |
+ scoped_refptr<base::SingleThreadTaskRunner> background_task_runner); |
// To be used for testing. |
password_manager::LoginDatabase* login_metadata_db() const { |
- return login_metadata_db_.get(); |
+ return login_metadata_db_; |
} |
// To be used for testing. |
@@ -54,13 +52,8 @@ class PasswordStoreMac : public password_manager::PasswordStore { |
protected: |
~PasswordStoreMac() override; |
- // Opens |login_metadata_db_| on the background |thread_|. |
- void InitOnBackgroundThread(); |
- |
- scoped_refptr<base::SingleThreadTaskRunner> GetBackgroundTaskRunner() |
- override; |
- |
private: |
+ bool Init(const syncer::SyncableService::StartSyncFlare& flare) override; |
void ReportMetricsImpl(const std::string& sync_username, |
bool custom_passphrase_sync_enabled) override; |
password_manager::PasswordStoreChangeList AddLoginImpl( |
@@ -78,10 +71,6 @@ class PasswordStoreMac : public password_manager::PasswordStore { |
ScopedVector<autofill::PasswordForm> FillMatchingLogins( |
const autofill::PasswordForm& form, |
AuthorizationPromptPolicy prompt_policy) override; |
- void GetAutofillableLoginsImpl( |
- scoped_ptr<PasswordStore::GetLoginsRequest> request) override; |
- void GetBlacklistLoginsImpl( |
- scoped_ptr<PasswordStore::GetLoginsRequest> request) override; |
bool FillAutofillableLogins( |
ScopedVector<autofill::PasswordForm>* forms) override; |
bool FillBlacklistLogins( |
@@ -118,14 +107,9 @@ class PasswordStoreMac : public password_manager::PasswordStore { |
scoped_ptr<crypto::AppleKeychain> keychain_; |
- // The login metadata SQL database. The LoginDatabase instance is received via |
- // the in an uninitialized state, so as to allow injecting mocks, then Init() |
- // is called on the DB thread in a deferred manner. If opening the DB fails, |
- // |login_metadata_db_| will be reset to NULL for the lifetime of |this|. |
- scoped_ptr<password_manager::LoginDatabase> login_metadata_db_; |
- |
- // Thread that the synchronous methods are run on. |
- scoped_ptr<base::Thread> thread_; |
+ // The login metadata SQL database. The caller is resonsible for initializing |
+ // it. |
+ password_manager::LoginDatabase* login_metadata_db_; |
DISALLOW_COPY_AND_ASSIGN(PasswordStoreMac); |
}; |