Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(609)

Side by Side Diff: chrome/browser/password_manager/password_store_proxy_mac.cc

Issue 1200603003: Integrate PasswordStoreProxyMac instead of PasswordStoreMac. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: comments Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/password_manager/password_store_proxy_mac.h" 5 #include "chrome/browser/password_manager/password_store_proxy_mac.h"
6 6
7 #include "chrome/browser/password_manager/password_store_mac.h" 7 #include "chrome/browser/password_manager/password_store_mac.h"
8 #include "chrome/browser/password_manager/simple_password_store_mac.h" 8 #include "chrome/browser/password_manager/simple_password_store_mac.h"
9 #include "content/public/browser/browser_thread.h"
9 #include "crypto/apple_keychain.h" 10 #include "crypto/apple_keychain.h"
10 11
11 using password_manager::PasswordStoreChangeList; 12 using password_manager::PasswordStoreChangeList;
12 13
13 PasswordStoreProxyMac::PasswordStoreProxyMac( 14 PasswordStoreProxyMac::PasswordStoreProxyMac(
14 scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner, 15 scoped_refptr<base::SingleThreadTaskRunner> main_thread_runner,
15 scoped_ptr<crypto::AppleKeychain> keychain, 16 scoped_ptr<crypto::AppleKeychain> keychain,
16 scoped_ptr<password_manager::LoginDatabase> login_db) 17 scoped_ptr<password_manager::LoginDatabase> login_db)
17 : PasswordStore(main_thread_runner, nullptr) { 18 : PasswordStore(main_thread_runner, nullptr),
19 login_metadata_db_(login_db.Pass()) {
20 DCHECK(login_metadata_db_);
18 // TODO(vasilii): for now the class is just a wrapper around PasswordStoreMac. 21 // TODO(vasilii): for now the class is just a wrapper around PasswordStoreMac.
19 password_store_mac_ = new PasswordStoreMac(main_thread_runner, nullptr, 22 password_store_mac_ = new PasswordStoreMac(
20 keychain.Pass(), login_db.Pass()); 23 main_thread_runner, nullptr, keychain.Pass(), login_metadata_db_.get());
21 } 24 }
22 25
23 PasswordStoreProxyMac::~PasswordStoreProxyMac() { 26 PasswordStoreProxyMac::~PasswordStoreProxyMac() {
24 } 27 }
25 28
26 bool PasswordStoreProxyMac::Init( 29 bool PasswordStoreProxyMac::Init(
27 const syncer::SyncableService::StartSyncFlare& flare) { 30 const syncer::SyncableService::StartSyncFlare& flare) {
28 return GetBackend()->Init(flare); 31 // Set up a background thread.
32 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
33 thread_.reset(new base::Thread("Chrome_PasswordStore_Thread"));
34
35 if (!thread_->Start()) {
36 thread_.reset();
37 return false;
38 }
39
40 ScheduleTask(
41 base::Bind(&PasswordStoreProxyMac::InitOnBackgroundThread, this));
42 password_store_mac_->InitWithTaskRunner(GetBackgroundTaskRunner());
43 return password_manager::PasswordStore::Init(flare);
29 } 44 }
30 45
31 void PasswordStoreProxyMac::Shutdown() { 46 void PasswordStoreProxyMac::Shutdown() {
32 return GetBackend()->Shutdown(); 47 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
48 PasswordStore::Shutdown();
49 GetBackend()->Shutdown();
50 thread_->Stop();
51 }
52
53 scoped_refptr<base::SingleThreadTaskRunner>
54 PasswordStoreProxyMac::GetBackgroundTaskRunner() {
55 return thread_ ? thread_->task_runner() : nullptr;
33 } 56 }
34 57
35 password_manager::PasswordStore* PasswordStoreProxyMac::GetBackend() const { 58 password_manager::PasswordStore* PasswordStoreProxyMac::GetBackend() const {
36 if (password_store_mac_) 59 if (password_store_mac_)
37 return password_store_mac_.get(); 60 return password_store_mac_.get();
38 return password_store_simple_.get(); 61 return password_store_simple_.get();
39 } 62 }
40 63
41 scoped_refptr<base::SingleThreadTaskRunner> 64 void PasswordStoreProxyMac::InitOnBackgroundThread() {
42 PasswordStoreProxyMac::GetBackgroundTaskRunner() { 65 DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
43 return GetBackend()->GetBackgroundTaskRunner(); 66 if (!login_metadata_db_->Init()) {
67 login_metadata_db_.reset();
68 LOG(ERROR) << "Could not create/open login database.";
69 }
44 } 70 }
45 71
46 void PasswordStoreProxyMac::ReportMetricsImpl( 72 void PasswordStoreProxyMac::ReportMetricsImpl(
47 const std::string& sync_username, 73 const std::string& sync_username,
48 bool custom_passphrase_sync_enabled) { 74 bool custom_passphrase_sync_enabled) {
49 GetBackend()->ReportMetricsImpl(sync_username, 75 GetBackend()->ReportMetricsImpl(sync_username,
50 custom_passphrase_sync_enabled); 76 custom_passphrase_sync_enabled);
51 } 77 }
52 78
53 PasswordStoreChangeList PasswordStoreProxyMac::AddLoginImpl( 79 PasswordStoreChangeList PasswordStoreProxyMac::AddLoginImpl(
(...skipping 22 matching lines...) Expand all
76 base::Time delete_end) { 102 base::Time delete_end) {
77 return GetBackend()->RemoveLoginsSyncedBetweenImpl(delete_begin, delete_end); 103 return GetBackend()->RemoveLoginsSyncedBetweenImpl(delete_begin, delete_end);
78 } 104 }
79 105
80 ScopedVector<autofill::PasswordForm> PasswordStoreProxyMac::FillMatchingLogins( 106 ScopedVector<autofill::PasswordForm> PasswordStoreProxyMac::FillMatchingLogins(
81 const autofill::PasswordForm& form, 107 const autofill::PasswordForm& form,
82 AuthorizationPromptPolicy prompt_policy) { 108 AuthorizationPromptPolicy prompt_policy) {
83 return GetBackend()->FillMatchingLogins(form, prompt_policy); 109 return GetBackend()->FillMatchingLogins(form, prompt_policy);
84 } 110 }
85 111
86 void PasswordStoreProxyMac::GetAutofillableLoginsImpl(
87 scoped_ptr<PasswordStore::GetLoginsRequest> request) {
88 GetBackend()->GetAutofillableLoginsImpl(request.Pass());
89 }
90
91 void PasswordStoreProxyMac::GetBlacklistLoginsImpl(
92 scoped_ptr<PasswordStore::GetLoginsRequest> request) {
93 GetBackend()->GetBlacklistLoginsImpl(request.Pass());
94 }
95
96 bool PasswordStoreProxyMac::FillAutofillableLogins( 112 bool PasswordStoreProxyMac::FillAutofillableLogins(
97 ScopedVector<autofill::PasswordForm>* forms) { 113 ScopedVector<autofill::PasswordForm>* forms) {
98 return GetBackend()->FillAutofillableLogins(forms); 114 return GetBackend()->FillAutofillableLogins(forms);
99 } 115 }
100 116
101 bool PasswordStoreProxyMac::FillBlacklistLogins( 117 bool PasswordStoreProxyMac::FillBlacklistLogins(
102 ScopedVector<autofill::PasswordForm>* forms) { 118 ScopedVector<autofill::PasswordForm>* forms) {
103 return GetBackend()->FillBlacklistLogins(forms); 119 return GetBackend()->FillBlacklistLogins(forms);
104 } 120 }
105 121
106 void PasswordStoreProxyMac::AddSiteStatsImpl( 122 void PasswordStoreProxyMac::AddSiteStatsImpl(
107 const password_manager::InteractionsStats& stats) { 123 const password_manager::InteractionsStats& stats) {
108 GetBackend()->AddSiteStatsImpl(stats); 124 GetBackend()->AddSiteStatsImpl(stats);
109 } 125 }
110 126
111 void PasswordStoreProxyMac::RemoveSiteStatsImpl(const GURL& origin_domain) { 127 void PasswordStoreProxyMac::RemoveSiteStatsImpl(const GURL& origin_domain) {
112 GetBackend()->RemoveSiteStatsImpl(origin_domain); 128 GetBackend()->RemoveSiteStatsImpl(origin_domain);
113 } 129 }
114 130
115 scoped_ptr<password_manager::InteractionsStats> 131 scoped_ptr<password_manager::InteractionsStats>
116 PasswordStoreProxyMac::GetSiteStatsImpl(const GURL& origin_domain) { 132 PasswordStoreProxyMac::GetSiteStatsImpl(const GURL& origin_domain) {
117 return GetBackend()->GetSiteStatsImpl(origin_domain); 133 return GetBackend()->GetSiteStatsImpl(origin_domain);
118 } 134 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698