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

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

Issue 355143006: [Password Manager] Add UMA stats to track interaction with synced accounts. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Typo Created 6 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 | Annotate | Revision Log
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 848 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 : password_manager::PasswordStore(main_thread_runner, db_thread_runner), 859 : password_manager::PasswordStore(main_thread_runner, db_thread_runner),
860 keychain_(keychain), 860 keychain_(keychain),
861 login_metadata_db_(login_db) { 861 login_metadata_db_(login_db) {
862 DCHECK(keychain_.get()); 862 DCHECK(keychain_.get());
863 DCHECK(login_metadata_db_.get()); 863 DCHECK(login_metadata_db_.get());
864 } 864 }
865 865
866 PasswordStoreMac::~PasswordStoreMac() {} 866 PasswordStoreMac::~PasswordStoreMac() {}
867 867
868 bool PasswordStoreMac::Init( 868 bool PasswordStoreMac::Init(
869 const syncer::SyncableService::StartSyncFlare& flare) { 869 const syncer::SyncableService::StartSyncFlare& flare,
870 const std::string& sync_username) {
870 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 871 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
871 thread_.reset(new base::Thread("Chrome_PasswordStore_Thread")); 872 thread_.reset(new base::Thread("Chrome_PasswordStore_Thread"));
872 873
873 if (!thread_->Start()) { 874 if (!thread_->Start()) {
874 thread_.reset(NULL); 875 thread_.reset(NULL);
875 return false; 876 return false;
876 } 877 }
877 return password_manager::PasswordStore::Init(flare); 878 return password_manager::PasswordStore::Init(flare, sync_username);
878 } 879 }
879 880
880 void PasswordStoreMac::Shutdown() { 881 void PasswordStoreMac::Shutdown() {
881 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 882 DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
882 password_manager::PasswordStore::Shutdown(); 883 password_manager::PasswordStore::Shutdown();
883 thread_->Stop(); 884 thread_->Stop();
884 } 885 }
885 886
886 // Mac stores passwords in the system keychain, which can block for an 887 // Mac stores passwords in the system keychain, which can block for an
887 // arbitrarily long time (most notably, it can block on user confirmation 888 // arbitrarily long time (most notably, it can block on user confirmation
888 // from a dialog). Run tasks on a dedicated thread to avoid blocking the DB 889 // from a dialog). Run tasks on a dedicated thread to avoid blocking the DB
889 // thread. 890 // thread.
890 scoped_refptr<base::SingleThreadTaskRunner> 891 scoped_refptr<base::SingleThreadTaskRunner>
891 PasswordStoreMac::GetBackgroundTaskRunner() { 892 PasswordStoreMac::GetBackgroundTaskRunner() {
892 return (thread_.get()) ? thread_->message_loop_proxy() : NULL; 893 return (thread_.get()) ? thread_->message_loop_proxy() : NULL;
893 } 894 }
894 895
895 void PasswordStoreMac::ReportMetricsImpl() { 896 void PasswordStoreMac::ReportMetricsImpl(const std::string& sync_username) {
896 login_metadata_db_->ReportMetrics(); 897 login_metadata_db_->ReportMetrics(sync_username);
897 } 898 }
898 899
899 PasswordStoreChangeList PasswordStoreMac::AddLoginImpl( 900 PasswordStoreChangeList PasswordStoreMac::AddLoginImpl(
900 const PasswordForm& form) { 901 const PasswordForm& form) {
901 DCHECK(thread_->message_loop() == base::MessageLoop::current()); 902 DCHECK(thread_->message_loop() == base::MessageLoop::current());
902 PasswordStoreChangeList changes; 903 PasswordStoreChangeList changes;
903 if (AddToKeychainIfNecessary(form)) { 904 if (AddToKeychainIfNecessary(form)) {
904 changes = login_metadata_db_->AddLogin(form); 905 changes = login_metadata_db_->AddLogin(form);
905 } 906 }
906 return changes; 907 return changes;
(...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after
1133 1134
1134 void PasswordStoreMac::RemoveKeychainForms( 1135 void PasswordStoreMac::RemoveKeychainForms(
1135 const std::vector<PasswordForm*>& forms) { 1136 const std::vector<PasswordForm*>& forms) {
1136 MacKeychainPasswordFormAdapter owned_keychain_adapter(keychain_.get()); 1137 MacKeychainPasswordFormAdapter owned_keychain_adapter(keychain_.get());
1137 owned_keychain_adapter.SetFindsOnlyOwnedItems(true); 1138 owned_keychain_adapter.SetFindsOnlyOwnedItems(true);
1138 for (std::vector<PasswordForm*>::const_iterator i = forms.begin(); 1139 for (std::vector<PasswordForm*>::const_iterator i = forms.begin();
1139 i != forms.end(); ++i) { 1140 i != forms.end(); ++i) {
1140 owned_keychain_adapter.RemovePassword(**i); 1141 owned_keychain_adapter.RemovePassword(**i);
1141 } 1142 }
1142 } 1143 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_store_mac.h ('k') | chrome/browser/password_manager/password_store_mac_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698