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