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

Side by Side Diff: chrome/browser/webdata/token_service_table.cc

Issue 8966003: Update webdata files to take advantage of DLOG(FATAL) in (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo Created 9 years 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) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/webdata/token_service_table.h" 5 #include "chrome/browser/webdata/token_service_table.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 12 matching lines...) Expand all
23 return true; 23 return true;
24 } 24 }
25 25
26 bool TokenServiceTable::IsSyncable() { 26 bool TokenServiceTable::IsSyncable() {
27 return true; 27 return true;
28 } 28 }
29 29
30 bool TokenServiceTable::RemoveAllTokens() { 30 bool TokenServiceTable::RemoveAllTokens() {
31 sql::Statement s(db_->GetUniqueStatement( 31 sql::Statement s(db_->GetUniqueStatement(
32 "DELETE FROM token_service")); 32 "DELETE FROM token_service"));
33 if (!s) {
34 NOTREACHED() << "Statement prepare failed";
35 return false;
36 }
37 33
38 return s.Run(); 34 return s.Run();
39 } 35 }
40 36
41 bool TokenServiceTable::SetTokenForService(const std::string& service, 37 bool TokenServiceTable::SetTokenForService(const std::string& service,
42 const std::string& token) { 38 const std::string& token) {
39 std::string encrypted_token;
40 bool encrypted = Encryptor::EncryptString(token, &encrypted_token);
41 if (!encrypted) {
42 return false;
43 }
44
43 // Don't bother with a cached statement since this will be a relatively 45 // Don't bother with a cached statement since this will be a relatively
44 // infrequent operation. 46 // infrequent operation.
45 sql::Statement s(db_->GetUniqueStatement( 47 sql::Statement s(db_->GetUniqueStatement(
46 "INSERT OR REPLACE INTO token_service " 48 "INSERT OR REPLACE INTO token_service "
47 "(service, encrypted_token) VALUES (?, ?)")); 49 "(service, encrypted_token) VALUES (?, ?)"));
48 if (!s) {
49 NOTREACHED() << "Statement prepare failed";
50 return false;
51 }
52
53 std::string encrypted_token;
54
55 bool encrypted = Encryptor::EncryptString(token, &encrypted_token);
56 if (!encrypted) {
57 return false;
58 }
59
60 s.BindString(0, service); 50 s.BindString(0, service);
61 s.BindBlob(1, encrypted_token.data(), 51 s.BindBlob(1, encrypted_token.data(),
62 static_cast<int>(encrypted_token.length())); 52 static_cast<int>(encrypted_token.length()));
53
63 return s.Run(); 54 return s.Run();
64 } 55 }
65 56
66 bool TokenServiceTable::GetAllTokens( 57 bool TokenServiceTable::GetAllTokens(
67 std::map<std::string, std::string>* tokens) { 58 std::map<std::string, std::string>* tokens) {
68 sql::Statement s(db_->GetUniqueStatement( 59 sql::Statement s(db_->GetUniqueStatement(
69 "SELECT service, encrypted_token FROM token_service")); 60 "SELECT service, encrypted_token FROM token_service"));
70 if (!s) { 61
71 NOTREACHED() << "Statement prepare failed"; 62 if (!s.is_valid())
72 return false; 63 return false;
73 }
74 64
75 while (s.Step()) { 65 while (s.Step()) {
76 std::string encrypted_token; 66 std::string encrypted_token;
77 std::string decrypted_token; 67 std::string decrypted_token;
78 std::string service; 68 std::string service;
79 service = s.ColumnString(0); 69 service = s.ColumnString(0);
80 bool entry_ok = !service.empty() && 70 bool entry_ok = !service.empty() &&
81 s.ColumnBlobAsString(1, &encrypted_token); 71 s.ColumnBlobAsString(1, &encrypted_token);
82 if (entry_ok) { 72 if (entry_ok) {
83 Encryptor::DecryptString(encrypted_token, &decrypted_token); 73 Encryptor::DecryptString(encrypted_token, &decrypted_token);
84 (*tokens)[service] = decrypted_token; 74 (*tokens)[service] = decrypted_token;
85 } else { 75 } else {
86 NOTREACHED(); 76 NOTREACHED();
87 return false; 77 return false;
88 } 78 }
89 } 79 }
90 return true; 80 return true;
91 } 81 }
92
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698