OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/password_manager/core/browser/login_database.h" | 5 #include "components/password_manager/core/browser/login_database.h" |
6 | 6 |
7 // On the Mac, the LoginDatabase nulls out passwords, so that we can use the | 7 #include "components/os_crypt/os_crypt.h" |
8 // rest of the database as a suplemental storage system to complement Keychain, | |
9 // providing storage of fields Keychain doesn't allow. | |
10 | 8 |
11 namespace password_manager { | 9 namespace password_manager { |
12 | 10 |
13 // static | 11 // static |
14 LoginDatabase::EncryptionResult LoginDatabase::EncryptedString( | 12 LoginDatabase::EncryptionResult LoginDatabase::EncryptedString( |
15 const base::string16& plain_text, | 13 const base::string16& plain_text, |
16 std::string* cipher_text) { | 14 std::string* cipher_text) { |
17 *cipher_text = std::string(); | 15 // Handling the empty string shouldn't use the Keychain. |
vabr (Chromium)
2015/06/18 13:39:09
It is not clear to me why it is important to menti
vasilii
2015/06/18 14:28:14
The comment is obsolete.
| |
18 return ENCRYPTION_RESULT_SUCCESS; | 16 return OSCrypt::EncryptString16(plain_text, cipher_text) |
17 ? ENCRYPTION_RESULT_SUCCESS | |
18 : ENCRYPTION_RESULT_SERVICE_FAILURE; | |
19 } | 19 } |
20 | 20 |
21 // static | 21 // static |
22 LoginDatabase::EncryptionResult LoginDatabase::DecryptedString( | 22 LoginDatabase::EncryptionResult LoginDatabase::DecryptedString( |
23 const std::string& cipher_text, | 23 const std::string& cipher_text, |
24 base::string16* plain_text) { | 24 base::string16* plain_text) { |
25 *plain_text = base::string16(); | 25 return OSCrypt::DecryptString16(cipher_text, plain_text) |
26 return ENCRYPTION_RESULT_SUCCESS; | 26 ? ENCRYPTION_RESULT_SUCCESS |
27 : ENCRYPTION_RESULT_SERVICE_FAILURE; | |
27 } | 28 } |
28 | 29 |
29 } // namespace password_manager | 30 } // namespace password_manager |
OLD | NEW |