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..c6034334b7364878047b0f74824fd01e310f59a3 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. The class should be used by PasswordStoreProxyMac |
Garrett Casto
2015/06/24 23:39:09
Nit: deprecate -> Deprecate this class.
vasilii
2015/06/25 08:23:23
Done.
|
+// 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,22 @@ 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_|. |
Garrett Casto
2015/06/24 23:39:10
Stale comment.
vasilii
2015/06/25 08:23:23
Done.
|
- bool Init(const syncer::SyncableService::StartSyncFlare& flare) override; |
+ void InitWithTaskRunner( |
+ scoped_refptr<base::SingleThreadTaskRunner> background_task_runner); |
// Stops |thread_|. |
Garrett Casto
2015/06/24 23:39:09
Stale comment.
vasilii
2015/06/25 08:23:23
Done.
|
void Shutdown() override; |
// 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 +55,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 +74,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 +110,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); |
}; |