1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "content/browser/indexed_db/fake_indexed_db_metadata_coding.h"
6
7 #include <utility>
8
9 #include "third_party/blink/public/common/indexeddb/indexeddb_key_path.h"
10 #include "third_party/blink/public/common/indexeddb/indexeddb_metadata.h"
11
12 using blink::IndexedDBDatabaseMetadata;
13 using blink::IndexedDBIndexMetadata;
14 using blink::IndexedDBObjectStoreMetadata;
15 using leveldb::Status;
16
17 namespace content {
18
FakeIndexedDBMetadataCoding()19 FakeIndexedDBMetadataCoding::FakeIndexedDBMetadataCoding() {}
~FakeIndexedDBMetadataCoding()20 FakeIndexedDBMetadataCoding::~FakeIndexedDBMetadataCoding() {}
21
ReadDatabaseNames(TransactionalLevelDBDatabase * db,const std::string & origin_identifier,std::vector<base::string16> * names)22 leveldb::Status FakeIndexedDBMetadataCoding::ReadDatabaseNames(
23 TransactionalLevelDBDatabase* db,
24 const std::string& origin_identifier,
25 std::vector<base::string16>* names) {
26 return Status::OK();
27 }
28
ReadMetadataForDatabaseName(TransactionalLevelDBDatabase * db,const std::string & origin_identifier,const base::string16 & name,IndexedDBDatabaseMetadata * metadata,bool * found)29 leveldb::Status FakeIndexedDBMetadataCoding::ReadMetadataForDatabaseName(
30 TransactionalLevelDBDatabase* db,
31 const std::string& origin_identifier,
32 const base::string16& name,
33 IndexedDBDatabaseMetadata* metadata,
34 bool* found) {
35 return Status::OK();
36 }
37
CreateDatabase(TransactionalLevelDBDatabase * database,const std::string & origin_identifier,const base::string16 & name,int64_t version,IndexedDBDatabaseMetadata * metadata)38 leveldb::Status FakeIndexedDBMetadataCoding::CreateDatabase(
39 TransactionalLevelDBDatabase* database,
40 const std::string& origin_identifier,
41 const base::string16& name,
42 int64_t version,
43 IndexedDBDatabaseMetadata* metadata) {
44 metadata->name = name;
45 metadata->version = version;
46 return Status::OK();
47 }
48
SetDatabaseVersion(TransactionalLevelDBTransaction * transaction,int64_t row_id,int64_t version,IndexedDBDatabaseMetadata * metadata)49 leveldb::Status FakeIndexedDBMetadataCoding::SetDatabaseVersion(
50 TransactionalLevelDBTransaction* transaction,
51 int64_t row_id,
52 int64_t version,
53 IndexedDBDatabaseMetadata* metadata) {
54 metadata->version = version;
55 return leveldb::Status::OK();
56 }
57
FindDatabaseId(TransactionalLevelDBDatabase * db,const std::string & origin_identifier,const base::string16 & name,int64_t * id,bool * found)58 leveldb::Status FakeIndexedDBMetadataCoding::FindDatabaseId(
59 TransactionalLevelDBDatabase* db,
60 const std::string& origin_identifier,
61 const base::string16& name,
62 int64_t* id,
63 bool* found) {
64 return Status::OK();
65 }
66
CreateObjectStore(TransactionalLevelDBTransaction * transaction,int64_t database_id,int64_t object_store_id,base::string16 name,blink::IndexedDBKeyPath key_path,bool auto_increment,IndexedDBObjectStoreMetadata * metadata)67 leveldb::Status FakeIndexedDBMetadataCoding::CreateObjectStore(
68 TransactionalLevelDBTransaction* transaction,
69 int64_t database_id,
70 int64_t object_store_id,
71 base::string16 name,
72 blink::IndexedDBKeyPath key_path,
73 bool auto_increment,
74 IndexedDBObjectStoreMetadata* metadata) {
75 metadata->name = std::move(name);
76 metadata->id = object_store_id;
77 metadata->key_path = std::move(key_path);
78 metadata->auto_increment = auto_increment;
79 metadata->max_index_id = IndexedDBObjectStoreMetadata::kMinimumIndexId;
80 return Status::OK();
81 }
82
RenameObjectStore(TransactionalLevelDBTransaction * transaction,int64_t database_id,base::string16 new_name,base::string16 * old_name,IndexedDBObjectStoreMetadata * metadata)83 leveldb::Status FakeIndexedDBMetadataCoding::RenameObjectStore(
84 TransactionalLevelDBTransaction* transaction,
85 int64_t database_id,
86 base::string16 new_name,
87 base::string16* old_name,
88 IndexedDBObjectStoreMetadata* metadata) {
89 *old_name = std::move(metadata->name);
90 metadata->name = std::move(new_name);
91 return Status::OK();
92 }
93
DeleteObjectStore(TransactionalLevelDBTransaction * transaction,int64_t database_id,const IndexedDBObjectStoreMetadata & object_store)94 leveldb::Status FakeIndexedDBMetadataCoding::DeleteObjectStore(
95 TransactionalLevelDBTransaction* transaction,
96 int64_t database_id,
97 const IndexedDBObjectStoreMetadata& object_store) {
98 return Status::OK();
99 }
100
CreateIndex(TransactionalLevelDBTransaction * transaction,int64_t database_id,int64_t object_store_id,int64_t index_id,base::string16 name,blink::IndexedDBKeyPath key_path,bool is_unique,bool is_multi_entry,IndexedDBIndexMetadata * metadata)101 leveldb::Status FakeIndexedDBMetadataCoding::CreateIndex(
102 TransactionalLevelDBTransaction* transaction,
103 int64_t database_id,
104 int64_t object_store_id,
105 int64_t index_id,
106 base::string16 name,
107 blink::IndexedDBKeyPath key_path,
108 bool is_unique,
109 bool is_multi_entry,
110 IndexedDBIndexMetadata* metadata) {
111 metadata->id = index_id;
112 metadata->name = std::move(name);
113 metadata->key_path = key_path;
114 metadata->unique = is_unique;
115 metadata->multi_entry = is_multi_entry;
116 return Status::OK();
117 }
118
RenameIndex(TransactionalLevelDBTransaction * transaction,int64_t database_id,int64_t object_store_id,base::string16 new_name,base::string16 * old_name,IndexedDBIndexMetadata * metadata)119 leveldb::Status FakeIndexedDBMetadataCoding::RenameIndex(
120 TransactionalLevelDBTransaction* transaction,
121 int64_t database_id,
122 int64_t object_store_id,
123 base::string16 new_name,
124 base::string16* old_name,
125 IndexedDBIndexMetadata* metadata) {
126 *old_name = std::move(metadata->name);
127 metadata->name = std::move(new_name);
128 return Status::OK();
129 }
130
DeleteIndex(TransactionalLevelDBTransaction * transaction,int64_t database_id,int64_t object_store_id,const IndexedDBIndexMetadata & metadata)131 leveldb::Status FakeIndexedDBMetadataCoding::DeleteIndex(
132 TransactionalLevelDBTransaction* transaction,
133 int64_t database_id,
134 int64_t object_store_id,
135 const IndexedDBIndexMetadata& metadata) {
136 return Status::OK();
137 }
138
139 } // namespace content
140