OLD | NEW |
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" |
11 #include "chrome/browser/password_manager/encryptor.h" | 11 #include "chrome/browser/password_manager/encryptor.h" |
| 12 #include "chrome/browser/webdata/web_database.h" |
12 #include "sql/statement.h" | 13 #include "sql/statement.h" |
13 | 14 |
14 bool TokenServiceTable::Init() { | 15 namespace { |
| 16 |
| 17 int table_key = 0; |
| 18 |
| 19 WebDatabaseTable::TypeKey GetKey() { |
| 20 return reinterpret_cast<void*>(&table_key); |
| 21 } |
| 22 |
| 23 } // namespace |
| 24 |
| 25 TokenServiceTable* TokenServiceTable::FromWebDatabase(WebDatabase* db) { |
| 26 return static_cast<TokenServiceTable*>(db->GetTable(GetKey())); |
| 27 |
| 28 } |
| 29 |
| 30 WebDatabaseTable::TypeKey TokenServiceTable::GetTypeKey() const { |
| 31 return GetKey(); |
| 32 } |
| 33 |
| 34 bool TokenServiceTable::Init(sql::Connection* db, sql::MetaTable* meta_table) { |
| 35 WebDatabaseTable::Init(db, meta_table); |
15 if (!db_->DoesTableExist("token_service")) { | 36 if (!db_->DoesTableExist("token_service")) { |
16 if (!db_->Execute("CREATE TABLE token_service (" | 37 if (!db_->Execute("CREATE TABLE token_service (" |
17 "service VARCHAR PRIMARY KEY NOT NULL," | 38 "service VARCHAR PRIMARY KEY NOT NULL," |
18 "encrypted_token BLOB)")) { | 39 "encrypted_token BLOB)")) { |
19 NOTREACHED(); | 40 NOTREACHED(); |
20 return false; | 41 return false; |
21 } | 42 } |
22 } | 43 } |
23 return true; | 44 return true; |
24 } | 45 } |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
78 if (entry_ok) { | 99 if (entry_ok) { |
79 Encryptor::DecryptString(encrypted_token, &decrypted_token); | 100 Encryptor::DecryptString(encrypted_token, &decrypted_token); |
80 (*tokens)[service] = decrypted_token; | 101 (*tokens)[service] = decrypted_token; |
81 } else { | 102 } else { |
82 NOTREACHED(); | 103 NOTREACHED(); |
83 return false; | 104 return false; |
84 } | 105 } |
85 } | 106 } |
86 return true; | 107 return true; |
87 } | 108 } |
OLD | NEW |