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

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

Issue 911323003: Simplify GetLoginsRequest, and let PasswordStore::GetLoginsImpl take scoped_ptr<GetLoginsRequest> (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ps_fill_logins
Patch Set: Fix another Win compiler error. Created 5 years, 10 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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_x.h" 5 #include "chrome/browser/password_manager/password_store_x.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 void PasswordStoreX::GetAutofillableLoginsImpl( 157 void PasswordStoreX::GetAutofillableLoginsImpl(
158 scoped_ptr<PasswordStore::GetLoginsRequest> request) { 158 scoped_ptr<PasswordStore::GetLoginsRequest> request) {
159 CheckMigration(); 159 CheckMigration();
160 ScopedVector<autofill::PasswordForm> obtained_forms; 160 ScopedVector<autofill::PasswordForm> obtained_forms;
161 if (use_native_backend() && 161 if (use_native_backend() &&
162 backend_->GetAutofillableLogins(&obtained_forms)) { 162 backend_->GetAutofillableLogins(&obtained_forms)) {
163 SortLoginsByOrigin(&obtained_forms.get()); 163 SortLoginsByOrigin(&obtained_forms.get());
164 // See GetLoginsImpl() for why we disallow fallback conditionally here. 164 // See GetLoginsImpl() for why we disallow fallback conditionally here.
165 if (!obtained_forms.empty()) 165 if (!obtained_forms.empty())
166 allow_fallback_ = false; 166 allow_fallback_ = false;
167 request->result()->swap(obtained_forms); 167 request->NotifyConsumerWithResults(obtained_forms.Pass());
168 return;
168 } else if (allow_default_store()) { 169 } else if (allow_default_store()) {
169 PasswordStoreDefault::GetAutofillableLoginsImpl(request.Pass()); 170 PasswordStoreDefault::GetAutofillableLoginsImpl(request.Pass());
170 return; 171 return;
171 } 172 }
172 // The consumer will be left hanging unless we reply. 173 // The consumer will be left hanging unless we reply.
173 ForwardLoginsResult(request.Pass()); 174 request->NotifyConsumerWithResults(ScopedVector<autofill::PasswordForm>());
174 } 175 }
175 176
176 void PasswordStoreX::GetBlacklistLoginsImpl( 177 void PasswordStoreX::GetBlacklistLoginsImpl(
177 scoped_ptr<PasswordStore::GetLoginsRequest> request) { 178 scoped_ptr<PasswordStore::GetLoginsRequest> request) {
178 CheckMigration(); 179 CheckMigration();
179 ScopedVector<autofill::PasswordForm> obtained_forms; 180 ScopedVector<autofill::PasswordForm> obtained_forms;
180 if (use_native_backend() && backend_->GetBlacklistLogins(&obtained_forms)) { 181 if (use_native_backend() && backend_->GetBlacklistLogins(&obtained_forms)) {
181 SortLoginsByOrigin(&obtained_forms.get()); 182 SortLoginsByOrigin(&obtained_forms.get());
182 // See GetLoginsImpl() for why we disallow fallback conditionally here. 183 // See GetLoginsImpl() for why we disallow fallback conditionally here.
183 if (!obtained_forms.empty()) 184 if (!obtained_forms.empty())
184 allow_fallback_ = false; 185 allow_fallback_ = false;
185 request->result()->swap(obtained_forms); 186 request->NotifyConsumerWithResults(obtained_forms.Pass());
187 return;
186 } else if (allow_default_store()) { 188 } else if (allow_default_store()) {
187 PasswordStoreDefault::GetBlacklistLoginsImpl(request.Pass()); 189 PasswordStoreDefault::GetBlacklistLoginsImpl(request.Pass());
188 return; 190 return;
189 } 191 }
190 // The consumer will be left hanging unless we reply. 192 // The consumer will be left hanging unless we reply.
191 ForwardLoginsResult(request.Pass()); 193 request->NotifyConsumerWithResults(ScopedVector<autofill::PasswordForm>());
192 } 194 }
193 195
194 bool PasswordStoreX::FillAutofillableLogins( 196 bool PasswordStoreX::FillAutofillableLogins(
195 ScopedVector<autofill::PasswordForm>* forms) { 197 ScopedVector<autofill::PasswordForm>* forms) {
196 CheckMigration(); 198 CheckMigration();
197 if (use_native_backend() && backend_->GetAutofillableLogins(forms)) { 199 if (use_native_backend() && backend_->GetAutofillableLogins(forms)) {
198 // See GetLoginsImpl() for why we disallow fallback conditionally here. 200 // See GetLoginsImpl() for why we disallow fallback conditionally here.
199 if (forms->size() > 0) 201 if (forms->size() > 0)
200 allow_fallback_ = false; 202 allow_fallback_ = false;
201 return true; 203 return true;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 // Finally, delete the database file itself. We remove the passwords from 284 // Finally, delete the database file itself. We remove the passwords from
283 // it before deleting the file just in case there is some problem deleting 285 // it before deleting the file just in case there is some problem deleting
284 // the file (e.g. directory is not writable, but file is), which would 286 // the file (e.g. directory is not writable, but file is), which would
285 // otherwise cause passwords to re-migrate next (or maybe every) time. 287 // otherwise cause passwords to re-migrate next (or maybe every) time.
286 DeleteAndRecreateDatabaseFile(); 288 DeleteAndRecreateDatabaseFile();
287 } 289 }
288 } 290 }
289 ssize_t result = ok ? forms.size() : -1; 291 ssize_t result = ok ? forms.size() : -1;
290 return result; 292 return result;
291 } 293 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_store_win.cc ('k') | components/password_manager/core/browser/password_store.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698