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

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

Issue 1213043003: Start the migration of passwords from the Keychain. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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_mac.h" 5 #include "chrome/browser/password_manager/password_store_mac.h"
6 #include "chrome/browser/password_manager/password_store_mac_internal.h" 6 #include "chrome/browser/password_manager/password_store_mac_internal.h"
7 7
8 #include <CoreServices/CoreServices.h> 8 #include <CoreServices/CoreServices.h>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 942 matching lines...) Expand 10 before | Expand all | Expand 10 after
953 : password_manager::PasswordStore(main_thread_runner, db_thread_runner), 953 : password_manager::PasswordStore(main_thread_runner, db_thread_runner),
954 keychain_(keychain.Pass()), 954 keychain_(keychain.Pass()),
955 login_metadata_db_(nullptr) { 955 login_metadata_db_(nullptr) {
956 DCHECK(keychain_); 956 DCHECK(keychain_);
957 } 957 }
958 958
959 PasswordStoreMac::~PasswordStoreMac() {} 959 PasswordStoreMac::~PasswordStoreMac() {}
960 960
961 void PasswordStoreMac::InitWithTaskRunner( 961 void PasswordStoreMac::InitWithTaskRunner(
962 scoped_refptr<base::SingleThreadTaskRunner> background_task_runner) { 962 scoped_refptr<base::SingleThreadTaskRunner> background_task_runner) {
963 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
vabr (Chromium) 2015/07/03 08:40:47 Just out of curiosity, why is this removed?
vasilii 2015/07/03 12:59:10 Because now it's called on the background thread w
vabr (Chromium) 2015/07/06 09:50:19 Acknowledged.
964 db_thread_runner_ = background_task_runner; 963 db_thread_runner_ = background_task_runner;
965 } 964 }
966 965
967 PasswordStoreMac::MigrationResult PasswordStoreMac::ImportFromKeychain() { 966 PasswordStoreMac::MigrationResult PasswordStoreMac::ImportFromKeychain() {
968 DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread()); 967 DCHECK(GetBackgroundTaskRunner()->BelongsToCurrentThread());
969 if (!login_metadata_db_) 968 if (!login_metadata_db_)
970 return LOGIN_DB_UNAVAILABLE; 969 return LOGIN_DB_UNAVAILABLE;
971 970
972 ScopedVector<PasswordForm> database_forms; 971 ScopedVector<PasswordForm> database_forms;
973 if (!login_metadata_db_->GetAutofillableLogins(&database_forms)) 972 if (!login_metadata_db_->GetAutofillableLogins(&database_forms))
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1043 // Now all the passwords are available. It's time to update LoginDatabase. 1042 // Now all the passwords are available. It's time to update LoginDatabase.
1044 login_metadata_db_->set_clear_password_values(false); 1043 login_metadata_db_->set_clear_password_values(false);
1045 for (PasswordForm* form : database_forms) 1044 for (PasswordForm* form : database_forms)
1046 login_metadata_db_->UpdateLogin(*form); 1045 login_metadata_db_->UpdateLogin(*form);
1047 return MIGRATION_OK; 1046 return MIGRATION_OK;
1048 } 1047 }
1049 1048
1050 void PasswordStoreMac::set_login_metadata_db( 1049 void PasswordStoreMac::set_login_metadata_db(
1051 password_manager::LoginDatabase* login_db) { 1050 password_manager::LoginDatabase* login_db) {
1052 login_metadata_db_ = login_db; 1051 login_metadata_db_ = login_db;
1053 login_metadata_db_->set_clear_password_values(true); 1052 if (login_metadata_db_)
1053 login_metadata_db_->set_clear_password_values(true);
1054 } 1054 }
1055 1055
1056 bool PasswordStoreMac::Init( 1056 bool PasswordStoreMac::Init(
1057 const syncer::SyncableService::StartSyncFlare& flare) { 1057 const syncer::SyncableService::StartSyncFlare& flare) {
1058 // The class should be used inside PasswordStoreProxyMac only. 1058 // The class should be used inside PasswordStoreProxyMac only.
1059 NOTREACHED(); 1059 NOTREACHED();
1060 return true; 1060 return true;
1061 } 1061 }
1062 1062
1063 void PasswordStoreMac::ReportMetricsImpl(const std::string& sync_username, 1063 void PasswordStoreMac::ReportMetricsImpl(const std::string& sync_username,
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
1324 ScopedVector<PasswordForm> forms_with_keychain_entry; 1324 ScopedVector<PasswordForm> forms_with_keychain_entry;
1325 internal_keychain_helpers::GetPasswordsForForms(*keychain_, &database_forms, 1325 internal_keychain_helpers::GetPasswordsForForms(*keychain_, &database_forms,
1326 &forms_with_keychain_entry); 1326 &forms_with_keychain_entry);
1327 1327
1328 // Clean up any orphaned database entries. 1328 // Clean up any orphaned database entries.
1329 RemoveDatabaseForms(&database_forms); 1329 RemoveDatabaseForms(&database_forms);
1330 1330
1331 // Move the orphaned DB forms to the output parameter. 1331 // Move the orphaned DB forms to the output parameter.
1332 AppendSecondToFirst(orphaned_forms, &database_forms); 1332 AppendSecondToFirst(orphaned_forms, &database_forms);
1333 } 1333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698