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

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

Issue 1567022: Implement LoginDatabase on all platforms. (Closed)
Patch Set: Update Created 10 years, 8 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
« no previous file with comments | « chrome/browser/password_manager/password_store_mac.h ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 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 <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
11 11
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/mac_util.h" 13 #include "base/mac_util.h"
14 #include "base/stl_util-inl.h" 14 #include "base/stl_util-inl.h"
15 #include "base/string_util.h" 15 #include "base/string_util.h"
16 #include "base/utf_string_conversions.h" 16 #include "base/utf_string_conversions.h"
17 #include "chrome/browser/keychain_mac.h" 17 #include "chrome/browser/keychain_mac.h"
18 #include "chrome/browser/password_manager/login_database_mac.h" 18 #include "chrome/browser/password_manager/login_database.h"
19 19
20 using webkit_glue::PasswordForm; 20 using webkit_glue::PasswordForm;
21 21
22 // Utility class to handle the details of constructing and running a keychain 22 // Utility class to handle the details of constructing and running a keychain
23 // search from a set of attributes. 23 // search from a set of attributes.
24 class KeychainSearch { 24 class KeychainSearch {
25 public: 25 public:
26 explicit KeychainSearch(const MacKeychain& keychain); 26 explicit KeychainSearch(const MacKeychain& keychain);
27 ~KeychainSearch(); 27 ~KeychainSearch();
28 28
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
702 return result == noErr; 702 return result == noErr;
703 } 703 }
704 704
705 OSType MacKeychainPasswordFormAdapter::CreatorCodeForSearch() { 705 OSType MacKeychainPasswordFormAdapter::CreatorCodeForSearch() {
706 return finds_only_owned_ ? mac_util::CreatorCodeForApplication() : 0; 706 return finds_only_owned_ ? mac_util::CreatorCodeForApplication() : 0;
707 } 707 }
708 708
709 #pragma mark - 709 #pragma mark -
710 710
711 PasswordStoreMac::PasswordStoreMac(MacKeychain* keychain, 711 PasswordStoreMac::PasswordStoreMac(MacKeychain* keychain,
712 LoginDatabaseMac* login_db) 712 LoginDatabase* login_db)
713 : keychain_(keychain), login_metadata_db_(login_db) { 713 : keychain_(keychain), login_metadata_db_(login_db) {
714 DCHECK(keychain_.get()); 714 DCHECK(keychain_.get());
715 DCHECK(login_metadata_db_.get()); 715 DCHECK(login_metadata_db_.get());
716 } 716 }
717 717
718 PasswordStoreMac::~PasswordStoreMac() {} 718 PasswordStoreMac::~PasswordStoreMac() {}
719 719
720 void PasswordStoreMac::AddLoginImpl(const PasswordForm& form) { 720 void PasswordStoreMac::AddLoginImpl(const PasswordForm& form) {
721 if (AddToKeychainIfNecessary(form)) { 721 if (AddToKeychainIfNecessary(form)) {
722 login_metadata_db_->AddLogin(form); 722 login_metadata_db_->AddLogin(form);
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 882
883 void PasswordStoreMac::RemoveKeychainForms( 883 void PasswordStoreMac::RemoveKeychainForms(
884 const std::vector<PasswordForm*>& forms) { 884 const std::vector<PasswordForm*>& forms) {
885 MacKeychainPasswordFormAdapter owned_keychain_adapter(keychain_.get()); 885 MacKeychainPasswordFormAdapter owned_keychain_adapter(keychain_.get());
886 owned_keychain_adapter.SetFindsOnlyOwnedItems(true); 886 owned_keychain_adapter.SetFindsOnlyOwnedItems(true);
887 for (std::vector<PasswordForm*>::const_iterator i = forms.begin(); 887 for (std::vector<PasswordForm*>::const_iterator i = forms.begin();
888 i != forms.end(); ++i) { 888 i != forms.end(); ++i) {
889 owned_keychain_adapter.RemovePassword(**i); 889 owned_keychain_adapter.RemovePassword(**i);
890 } 890 }
891 } 891 }
OLDNEW
« no previous file with comments | « chrome/browser/password_manager/password_store_mac.h ('k') | chrome/browser/profile.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698