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

Side by Side Diff: content/common/indexed_db/indexed_db_struct_traits.cc

Issue 2449953008: Port messages sent by WebIDBDatabaseImpl to Mojo. (Closed)
Patch Set: Address dcheng@'s comments. Created 4 years, 1 month 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
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "content/common/indexed_db/indexed_db_param_traits.h" 5 #include "content/common/indexed_db/indexed_db_param_traits.h"
6 #include "content/common/indexed_db/indexed_db_struct_traits.h" 6 #include "content/common/indexed_db/indexed_db_struct_traits.h"
7 #include "mojo/common/common_custom_types_struct_traits.h" 7 #include "mojo/common/common_custom_types_struct_traits.h"
8 8
9 namespace mojo { 9 namespace mojo {
10 10
11 // static
12 bool StructTraits<indexed_db::mojom::IndexKeysDataView,
13 content::IndexedDBIndexKeys>::
14 Read(indexed_db::mojom::IndexKeysDataView data,
15 content::IndexedDBIndexKeys* out) {
16 out->first = data.index_id();
17 return data.ReadIndexKeys(&out->second);
18 }
19
20 // static
11 bool StructTraits<indexed_db::mojom::IndexMetadataDataView, 21 bool StructTraits<indexed_db::mojom::IndexMetadataDataView,
12 content::IndexedDBIndexMetadata>:: 22 content::IndexedDBIndexMetadata>::
13 Read(indexed_db::mojom::IndexMetadataDataView data, 23 Read(indexed_db::mojom::IndexMetadataDataView data,
14 content::IndexedDBIndexMetadata* out) { 24 content::IndexedDBIndexMetadata* out) {
15 out->id = data.id(); 25 out->id = data.id();
16 if (!data.ReadName(&out->name)) 26 if (!data.ReadName(&out->name))
17 return false; 27 return false;
18 if (!data.ReadKeyPath(&out->key_path)) 28 if (!data.ReadKeyPath(&out->key_path))
19 return false; 29 return false;
20 out->unique = data.unique(); 30 out->unique = data.unique();
21 out->multi_entry = data.multi_entry(); 31 out->multi_entry = data.multi_entry();
22 return true; 32 return true;
23 } 33 }
24 34
35 // static
25 bool StructTraits<indexed_db::mojom::ObjectStoreMetadataDataView, 36 bool StructTraits<indexed_db::mojom::ObjectStoreMetadataDataView,
26 content::IndexedDBObjectStoreMetadata>:: 37 content::IndexedDBObjectStoreMetadata>::
27 Read(indexed_db::mojom::ObjectStoreMetadataDataView data, 38 Read(indexed_db::mojom::ObjectStoreMetadataDataView data,
28 content::IndexedDBObjectStoreMetadata* out) { 39 content::IndexedDBObjectStoreMetadata* out) {
29 out->id = data.id(); 40 out->id = data.id();
30 if (!data.ReadName(&out->name)) 41 if (!data.ReadName(&out->name))
31 return false; 42 return false;
32 if (!data.ReadKeyPath(&out->key_path)) 43 if (!data.ReadKeyPath(&out->key_path))
33 return false; 44 return false;
34 out->auto_increment = data.auto_increment(); 45 out->auto_increment = data.auto_increment();
35 out->max_index_id = data.max_index_id(); 46 out->max_index_id = data.max_index_id();
36 ArrayDataView<indexed_db::mojom::IndexMetadataDataView> indexes; 47 ArrayDataView<indexed_db::mojom::IndexMetadataDataView> indexes;
37 data.GetIndexesDataView(&indexes); 48 data.GetIndexesDataView(&indexes);
38 for (size_t i = 0; i < indexes.size(); ++i) { 49 for (size_t i = 0; i < indexes.size(); ++i) {
39 indexed_db::mojom::IndexMetadataDataView index; 50 indexed_db::mojom::IndexMetadataDataView index;
40 indexes.GetDataView(i, &index); 51 indexes.GetDataView(i, &index);
41 DCHECK(!base::ContainsKey(out->indexes, index.id())); 52 DCHECK(!base::ContainsKey(out->indexes, index.id()));
42 if (!StructTraits< 53 if (!StructTraits<
43 indexed_db::mojom::IndexMetadataDataView, 54 indexed_db::mojom::IndexMetadataDataView,
44 content::IndexedDBIndexMetadata>::Read(index, 55 content::IndexedDBIndexMetadata>::Read(index,
45 &out->indexes[index.id()])) 56 &out->indexes[index.id()]))
46 return false; 57 return false;
47 } 58 }
48 return true; 59 return true;
49 } 60 }
50 61
62 // static
51 bool StructTraits<indexed_db::mojom::DatabaseMetadataDataView, 63 bool StructTraits<indexed_db::mojom::DatabaseMetadataDataView,
52 content::IndexedDBDatabaseMetadata>:: 64 content::IndexedDBDatabaseMetadata>::
53 Read(indexed_db::mojom::DatabaseMetadataDataView data, 65 Read(indexed_db::mojom::DatabaseMetadataDataView data,
54 content::IndexedDBDatabaseMetadata* out) { 66 content::IndexedDBDatabaseMetadata* out) {
55 out->id = data.id(); 67 out->id = data.id();
56 if (!data.ReadName(&out->name)) 68 if (!data.ReadName(&out->name))
57 return false; 69 return false;
58 out->version = data.version(); 70 out->version = data.version();
59 out->max_object_store_id = data.max_object_store_id(); 71 out->max_object_store_id = data.max_object_store_id();
60 ArrayDataView<indexed_db::mojom::ObjectStoreMetadataDataView> object_stores; 72 ArrayDataView<indexed_db::mojom::ObjectStoreMetadataDataView> object_stores;
61 data.GetObjectStoresDataView(&object_stores); 73 data.GetObjectStoresDataView(&object_stores);
62 for (size_t i = 0; i < object_stores.size(); ++i) { 74 for (size_t i = 0; i < object_stores.size(); ++i) {
63 indexed_db::mojom::ObjectStoreMetadataDataView object_store; 75 indexed_db::mojom::ObjectStoreMetadataDataView object_store;
64 object_stores.GetDataView(i, &object_store); 76 object_stores.GetDataView(i, &object_store);
65 DCHECK(!base::ContainsKey(out->object_stores, object_store.id())); 77 DCHECK(!base::ContainsKey(out->object_stores, object_store.id()));
66 if (!StructTraits<indexed_db::mojom::ObjectStoreMetadataDataView, 78 if (!StructTraits<indexed_db::mojom::ObjectStoreMetadataDataView,
67 content::IndexedDBObjectStoreMetadata>:: 79 content::IndexedDBObjectStoreMetadata>::
68 Read(object_store, &out->object_stores[object_store.id()])) 80 Read(object_store, &out->object_stores[object_store.id()]))
69 return false; 81 return false;
70 } 82 }
71 return true; 83 return true;
72 } 84 }
73 85
74 } // namespace mojo 86 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698