OLD | NEW |
| (Empty) |
1 // Copyright (c) 2012 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 // Message definition file, included multiple times, hence no include guard. | |
6 | |
7 #include <stdint.h> | |
8 | |
9 #include <map> | |
10 #include <string> | |
11 #include <utility> | |
12 #include <vector> | |
13 | |
14 #include "content/common/indexed_db/indexed_db_key.h" | |
15 #include "content/common/indexed_db/indexed_db_key_path.h" | |
16 #include "content/common/indexed_db/indexed_db_key_range.h" | |
17 #include "content/common/indexed_db/indexed_db_param_traits.h" | |
18 #include "content/public/common/common_param_traits.h" | |
19 #include "content/public/common/common_param_traits_macros.h" | |
20 #include "ipc/ipc_message_macros.h" | |
21 #include "ipc/ipc_message_utils.h" | |
22 #include "ipc/ipc_param_traits.h" | |
23 #include "third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h" | |
24 #include "url/origin.h" | |
25 | |
26 // Singly-included section for typedefs in multiply-included file. | |
27 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
28 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
29 | |
30 // An index id, and corresponding set of keys to insert. | |
31 | |
32 typedef std::pair<int64_t, std::vector<content::IndexedDBKey>> IndexKeys; | |
33 // IPC_MESSAGE macros fail on the std::map, when expanding. We need to define | |
34 // a type to avoid that. | |
35 // Map observer_id to corresponding set of indices in observations. | |
36 typedef std::map<int32_t, std::vector<int32_t>> ObservationIndex; | |
37 | |
38 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
39 | |
40 #undef IPC_MESSAGE_EXPORT | |
41 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT | |
42 #define IPC_MESSAGE_START IndexedDBMsgStart | |
43 | |
44 // Argument structures used in messages | |
45 | |
46 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBCursorDirection, | |
47 blink::WebIDBCursorDirectionLast) | |
48 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBPutMode, blink::WebIDBPutModeLast) | |
49 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBTaskType, blink::WebIDBTaskTypeLast) | |
50 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBTransactionMode, | |
51 blink::WebIDBTransactionModeLast) | |
52 | |
53 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss, blink::WebIDBDataLossTotal) | |
54 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBOperationType, | |
55 blink::WebIDBOperationTypeLast) | |
56 | |
57 // Used to enumerate indexed databases. | |
58 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryGetDatabaseNames_Params) | |
59 // The response should have these ids. | |
60 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
61 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
62 // The origin doing the initiating. | |
63 IPC_STRUCT_MEMBER(url::Origin, origin) | |
64 IPC_STRUCT_END() | |
65 | |
66 // Used to open an indexed database. | |
67 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryOpen_Params) | |
68 // The response should have these ids. | |
69 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
70 // Identifier of the request | |
71 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
72 // Identifier for database callbacks | |
73 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
74 // The origin doing the initiating. | |
75 IPC_STRUCT_MEMBER(url::Origin, origin) | |
76 // The name of the database. | |
77 IPC_STRUCT_MEMBER(base::string16, name) | |
78 // The transaction id used if a database upgrade is needed. | |
79 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
80 // The requested version of the database. | |
81 IPC_STRUCT_MEMBER(int64_t, version) | |
82 IPC_STRUCT_END() | |
83 | |
84 // Used to delete an indexed database. | |
85 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryDeleteDatabase_Params) | |
86 // The response should have these ids. | |
87 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
88 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
89 // The origin doing the initiating. | |
90 IPC_STRUCT_MEMBER(url::Origin, origin) | |
91 // The name of the database. | |
92 IPC_STRUCT_MEMBER(base::string16, name) | |
93 IPC_STRUCT_END() | |
94 | |
95 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateTransaction_Params) | |
96 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
97 // The database the object store belongs to. | |
98 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
99 // The transaction id as minted by the frontend. | |
100 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
101 // To get to WebIDBDatabaseCallbacks. | |
102 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
103 // The scope of the transaction. | |
104 IPC_STRUCT_MEMBER(std::vector<int64_t>, object_store_ids) | |
105 // The transaction mode. | |
106 IPC_STRUCT_MEMBER(blink::WebIDBTransactionMode, mode) | |
107 IPC_STRUCT_END() | |
108 | |
109 // Used to create an object store. | |
110 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateObjectStore_Params) | |
111 // The database the object store belongs to. | |
112 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
113 // The transaction its associated with. | |
114 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
115 // The storage id of the object store. | |
116 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
117 // The name of the object store. | |
118 IPC_STRUCT_MEMBER(base::string16, name) | |
119 // The keyPath of the object store. | |
120 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
121 // Whether the object store created should have a key generator. | |
122 IPC_STRUCT_MEMBER(bool, auto_increment) | |
123 IPC_STRUCT_END() | |
124 | |
125 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGet_Params) | |
126 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
127 // The id any response should contain. | |
128 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
129 // The database the object store belongs to. | |
130 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
131 // The transaction its associated with. | |
132 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
133 // The object store's id. | |
134 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
135 // The index's id. | |
136 IPC_STRUCT_MEMBER(int64_t, index_id) | |
137 // The serialized key range. | |
138 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
139 // If this is just retrieving the key | |
140 IPC_STRUCT_MEMBER(bool, key_only) | |
141 IPC_STRUCT_END() | |
142 | |
143 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGetAll_Params) | |
144 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
145 // The id any response should contain. | |
146 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
147 // The database the object store belongs to. | |
148 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
149 // The transaction its associated with. | |
150 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
151 // The object store's id. | |
152 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
153 // The index id. | |
154 IPC_STRUCT_MEMBER(int64_t, index_id) | |
155 // The serialized key range. | |
156 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
157 // If this is just retrieving the key | |
158 IPC_STRUCT_MEMBER(bool, key_only) | |
159 // The max number of values to retrieve. | |
160 IPC_STRUCT_MEMBER(int64_t, max_count) | |
161 IPC_STRUCT_END() | |
162 | |
163 IPC_STRUCT_BEGIN(IndexedDBMsg_BlobOrFileInfo) | |
164 IPC_STRUCT_MEMBER(bool, is_file) | |
165 IPC_STRUCT_MEMBER(std::string, uuid) | |
166 IPC_STRUCT_MEMBER(base::string16, mime_type) | |
167 IPC_STRUCT_MEMBER(uint64_t, size) | |
168 IPC_STRUCT_MEMBER(base::string16, file_path) | |
169 IPC_STRUCT_MEMBER(base::string16, file_name) | |
170 IPC_STRUCT_MEMBER(double, last_modified) | |
171 IPC_STRUCT_END() | |
172 | |
173 IPC_STRUCT_BEGIN(IndexedDBMsg_Value) | |
174 // The serialized value being transferred. | |
175 IPC_STRUCT_MEMBER(std::string, bits) | |
176 // Sideband data for any blob or file encoded in value. | |
177 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info) | |
178 IPC_STRUCT_END() | |
179 | |
180 IPC_STRUCT_BEGIN_WITH_PARENT(IndexedDBMsg_ReturnValue, IndexedDBMsg_Value) | |
181 IPC_STRUCT_TRAITS_PARENT(IndexedDBMsg_Value) | |
182 // Optional primary key & path used only when key generator specified. | |
183 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
184 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
185 IPC_STRUCT_END() | |
186 | |
187 // WebIDBDatabase::observe() message. | |
188 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseObserve_Params) | |
189 // The database the observer observers on. | |
190 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
191 // The transaction it's associated with. | |
192 IPC_STRUCT_MEMBER(int32_t, transaction_id) | |
193 IPC_STRUCT_MEMBER(int32_t, observer_id) | |
194 IPC_STRUCT_MEMBER(bool, include_transaction) | |
195 IPC_STRUCT_MEMBER(bool, no_records) | |
196 IPC_STRUCT_MEMBER(bool, values) | |
197 IPC_STRUCT_MEMBER(uint16_t, operation_types) | |
198 IPC_STRUCT_END() | |
199 | |
200 // Used to set a value in an object store. | |
201 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabasePut_Params) | |
202 // The id any response should contain. | |
203 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
204 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
205 // The database the object store belongs to. | |
206 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
207 // The transaction it's associated with. | |
208 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
209 // The object store's id. | |
210 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
211 // The index's id. | |
212 IPC_STRUCT_MEMBER(int64_t, index_id) | |
213 // The value to set. | |
214 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
215 // The key to set it on (may not be "valid"/set in some cases). | |
216 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
217 // Whether this is an add or a put. | |
218 IPC_STRUCT_MEMBER(blink::WebIDBPutMode, put_mode) | |
219 // The index ids and the list of keys for each index. | |
220 IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys) | |
221 IPC_STRUCT_END() | |
222 | |
223 // Used to open both cursors and object cursors in IndexedDB. | |
224 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseOpenCursor_Params) | |
225 // The response should have these ids. | |
226 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
227 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
228 // The database the object store belongs to. | |
229 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
230 // The transaction this request belongs to. | |
231 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
232 // The object store. | |
233 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
234 // The index if any. | |
235 IPC_STRUCT_MEMBER(int64_t, index_id) | |
236 // The serialized key range. | |
237 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
238 // The direction of this cursor. | |
239 IPC_STRUCT_MEMBER(blink::WebIDBCursorDirection, direction) | |
240 // If this is just retrieving the key | |
241 IPC_STRUCT_MEMBER(bool, key_only) | |
242 // The priority of this cursor. | |
243 IPC_STRUCT_MEMBER(blink::WebIDBTaskType, task_type) | |
244 IPC_STRUCT_END() | |
245 | |
246 // Used to open both cursors and object cursors in IndexedDB. | |
247 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCount_Params) | |
248 // The response should have these ids. | |
249 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
250 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
251 // The transaction this request belongs to. | |
252 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
253 // The IPC id of the database. | |
254 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
255 // The object store. | |
256 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
257 // The index if any. | |
258 IPC_STRUCT_MEMBER(int64_t, index_id) | |
259 // The serialized key range. | |
260 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
261 IPC_STRUCT_END() | |
262 | |
263 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseDeleteRange_Params) | |
264 // The response should have these ids. | |
265 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
266 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
267 // The IPC id of the database. | |
268 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
269 // The transaction this request belongs to. | |
270 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
271 // The object store. | |
272 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
273 // The serialized key range. | |
274 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
275 IPC_STRUCT_END() | |
276 | |
277 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseSetIndexKeys_Params) | |
278 // The IPC id of the database. | |
279 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
280 // The transaction this request belongs to. | |
281 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
282 // The object store's id. | |
283 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
284 // The object store key that we're setting index keys for. | |
285 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
286 // The index ids and the list of keys for each index. | |
287 IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys) | |
288 IPC_STRUCT_END() | |
289 | |
290 // Used to create an index. | |
291 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateIndex_Params) | |
292 // The transaction this is associated with. | |
293 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
294 // The database being used. | |
295 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
296 // The object store the index belongs to. | |
297 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
298 // The storage id of the index. | |
299 IPC_STRUCT_MEMBER(int64_t, index_id) | |
300 // The name of the index. | |
301 IPC_STRUCT_MEMBER(base::string16, name) | |
302 // The keyPath of the index. | |
303 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
304 // Whether the index created has unique keys. | |
305 IPC_STRUCT_MEMBER(bool, unique) | |
306 // Whether the index created produces keys for each array entry. | |
307 IPC_STRUCT_MEMBER(bool, multi_entry) | |
308 IPC_STRUCT_END() | |
309 | |
310 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessIDBCursor_Params) | |
311 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
312 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
313 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
314 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
315 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
316 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
317 IPC_STRUCT_END() | |
318 | |
319 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
320 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
321 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
322 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
323 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
324 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
325 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
326 IPC_STRUCT_END() | |
327 | |
328 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params) | |
329 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
330 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
331 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
332 IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, keys) | |
333 IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, primary_keys) | |
334 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_Value>, values) | |
335 IPC_STRUCT_END() | |
336 | |
337 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessArray_Params) | |
338 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
339 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
340 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_ReturnValue>, values) | |
341 IPC_STRUCT_END() | |
342 | |
343 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessValue_Params) | |
344 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
345 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
346 IPC_STRUCT_MEMBER(IndexedDBMsg_ReturnValue, value) | |
347 IPC_STRUCT_END() | |
348 | |
349 IPC_STRUCT_BEGIN(IndexedDBIndexMetadata) | |
350 IPC_STRUCT_MEMBER(int64_t, id) | |
351 IPC_STRUCT_MEMBER(base::string16, name) | |
352 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
353 IPC_STRUCT_MEMBER(bool, unique) | |
354 IPC_STRUCT_MEMBER(bool, multi_entry) | |
355 IPC_STRUCT_END() | |
356 | |
357 IPC_STRUCT_BEGIN(IndexedDBObjectStoreMetadata) | |
358 IPC_STRUCT_MEMBER(int64_t, id) | |
359 IPC_STRUCT_MEMBER(base::string16, name) | |
360 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
361 IPC_STRUCT_MEMBER(bool, auto_increment) | |
362 IPC_STRUCT_MEMBER(int64_t, max_index_id) | |
363 IPC_STRUCT_MEMBER(std::vector<IndexedDBIndexMetadata>, indexes) | |
364 IPC_STRUCT_END() | |
365 | |
366 IPC_STRUCT_BEGIN(IndexedDBDatabaseMetadata) | |
367 IPC_STRUCT_MEMBER(int64_t, id) | |
368 IPC_STRUCT_MEMBER(base::string16, name) | |
369 IPC_STRUCT_MEMBER(int64_t, version) | |
370 IPC_STRUCT_MEMBER(int64_t, max_object_store_id) | |
371 IPC_STRUCT_MEMBER(std::vector<IndexedDBObjectStoreMetadata>, object_stores) | |
372 IPC_STRUCT_END() | |
373 | |
374 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksUpgradeNeeded_Params) | |
375 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
376 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
377 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
378 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
379 IPC_STRUCT_MEMBER(int64_t, old_version) | |
380 IPC_STRUCT_MEMBER(blink::WebIDBDataLoss, data_loss) | |
381 IPC_STRUCT_MEMBER(std::string, data_loss_message) | |
382 IPC_STRUCT_MEMBER(IndexedDBDatabaseMetadata, idb_metadata) | |
383 IPC_STRUCT_END() | |
384 | |
385 IPC_STRUCT_BEGIN(IndexedDBMsg_Observation) | |
386 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
387 IPC_STRUCT_MEMBER(blink::WebIDBOperationType, type) | |
388 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
389 IPC_STRUCT_END() | |
390 | |
391 IPC_STRUCT_BEGIN(IndexedDBMsg_ObserverChanges) | |
392 IPC_STRUCT_MEMBER(ObservationIndex, observation_index) | |
393 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_Observation>, observations) | |
394 IPC_STRUCT_END() | |
395 | |
396 // Indexed DB messages sent from the browser to the renderer. | |
397 | |
398 // The thread_id needs to be the first parameter in these messages. In the IO | |
399 // thread on the renderer/client process, an IDB message filter assumes the | |
400 // thread_id is the first int. | |
401 | |
402 // IDBCallback message handlers. | |
403 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor, | |
404 IndexedDBMsg_CallbacksSuccessIDBCursor_Params) | |
405 | |
406 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue, | |
407 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
408 | |
409 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance, | |
410 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
411 | |
412 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch, | |
413 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params) | |
414 | |
415 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessArray, | |
416 IndexedDBMsg_CallbacksSuccessArray_Params) | |
417 | |
418 IPC_MESSAGE_CONTROL5(IndexedDBMsg_CallbacksSuccessIDBDatabase, | |
419 int32_t /* ipc_thread_id */, | |
420 int32_t /* ipc_callbacks_id */, | |
421 int32_t /* ipc_database_callbacks_id */, | |
422 int32_t /* ipc_database_id */, | |
423 IndexedDBDatabaseMetadata) | |
424 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessIndexedDBKey, | |
425 int32_t /* ipc_thread_id */, | |
426 int32_t /* ipc_callbacks_id */, | |
427 content::IndexedDBKey /* indexed_db_key */) | |
428 | |
429 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValue, | |
430 IndexedDBMsg_CallbacksSuccessValue_Params) | |
431 | |
432 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessInteger, | |
433 int32_t /* ipc_thread_id */, | |
434 int32_t /* ipc_callbacks_id */, | |
435 int64_t /* value */) | |
436 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessUndefined, | |
437 int32_t /* ipc_thread_id */, | |
438 int32_t /* ipc_callbacks_id */) | |
439 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessStringList, | |
440 int32_t /* ipc_thread_id */, | |
441 int32_t /* ipc_callbacks_id */, | |
442 std::vector<base::string16> /* dom_string_list */) | |
443 IPC_MESSAGE_CONTROL4(IndexedDBMsg_CallbacksError, | |
444 int32_t /* ipc_thread_id */, | |
445 int32_t /* ipc_callbacks_id */, | |
446 int /* code */, | |
447 base::string16 /* message */) | |
448 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksBlocked, | |
449 int32_t /* ipc_thread_id */, | |
450 int32_t /* ipc_callbacks_id */) | |
451 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksIntBlocked, | |
452 int32_t /* ipc_thread_id */, | |
453 int32_t /* ipc_callbacks_id */, | |
454 int64_t /* existing_version */) | |
455 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksUpgradeNeeded, | |
456 IndexedDBMsg_CallbacksUpgradeNeeded_Params) | |
457 | |
458 // IDBDatabaseCallback message handlers | |
459 IPC_MESSAGE_CONTROL2(IndexedDBMsg_DatabaseCallbacksForcedClose, | |
460 int32_t, /* ipc_thread_id */ | |
461 int32_t) /* ipc_database_callbacks_id */ | |
462 IPC_MESSAGE_CONTROL4(IndexedDBMsg_DatabaseCallbacksVersionChange, | |
463 int32_t, /* ipc_thread_id */ | |
464 int32_t, /* ipc_database_callbacks_id */ | |
465 int64_t, /* old_version */ | |
466 int64_t) /* new_version */ | |
467 IPC_MESSAGE_CONTROL5(IndexedDBMsg_DatabaseCallbacksAbort, | |
468 int32_t, /* ipc_thread_id */ | |
469 int32_t, /* ipc_database_callbacks_id */ | |
470 int64_t, /* transaction_id */ | |
471 int, /* code */ | |
472 base::string16) /* message */ | |
473 IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksComplete, | |
474 int32_t, /* ipc_thread_id */ | |
475 int32_t, /* ipc_database_callbacks_id */ | |
476 int64_t) /* transaction_id */ | |
477 IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksChanges, | |
478 int32_t, /* ipc_thread_id */ | |
479 int32_t, /* ipc_database_id */ | |
480 IndexedDBMsg_ObserverChanges) | |
481 | |
482 // Indexed DB messages sent from the renderer to the browser. | |
483 | |
484 // WebIDBCursor::advance() message. | |
485 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorAdvance, | |
486 int32_t, /* ipc_cursor_id */ | |
487 int32_t, /* ipc_thread_id */ | |
488 int32_t, /* ipc_callbacks_id */ | |
489 uint32_t) /* count */ | |
490 | |
491 // WebIDBCursor::continue() message. | |
492 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_CursorContinue, | |
493 int32_t, /* ipc_cursor_id */ | |
494 int32_t, /* ipc_thread_id */ | |
495 int32_t, /* ipc_callbacks_id */ | |
496 content::IndexedDBKey, /* key */ | |
497 content::IndexedDBKey) /* primary_key */ | |
498 | |
499 // WebIDBCursor::prefetchContinue() message. | |
500 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorPrefetch, | |
501 int32_t, /* ipc_cursor_id */ | |
502 int32_t, /* ipc_thread_id */ | |
503 int32_t, /* ipc_callbacks_id */ | |
504 int32_t) /* n */ | |
505 | |
506 // WebIDBCursor::prefetchReset() message. | |
507 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset, | |
508 int32_t, /* ipc_cursor_id */ | |
509 int32_t, /* used_prefetches */ | |
510 int32_t) /* used_prefetches */ | |
511 | |
512 // WebIDBFactory::getDatabaseNames() message. | |
513 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames, | |
514 IndexedDBHostMsg_FactoryGetDatabaseNames_Params) | |
515 | |
516 // WebIDBFactory::open() message. | |
517 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen, | |
518 IndexedDBHostMsg_FactoryOpen_Params) | |
519 | |
520 // WebIDBFactory::deleteDatabase() message. | |
521 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase, | |
522 IndexedDBHostMsg_FactoryDeleteDatabase_Params) | |
523 | |
524 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_AckReceivedBlobs, | |
525 std::vector<std::string>) /* uuids */ | |
526 | |
527 // WebIDBDatabase::unobserve() message. | |
528 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseUnobserve, | |
529 int32_t, /* ipc_database_id */ | |
530 std::vector<int32_t>) /* list of observer_id */ | |
531 | |
532 // WebIDBDatabase::createObjectStore() message. | |
533 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore, | |
534 IndexedDBHostMsg_DatabaseCreateObjectStore_Params) | |
535 | |
536 // WebIDBDatabase::deleteObjectStore() message. | |
537 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore, | |
538 int32_t, /* ipc_database_id */ | |
539 int64_t, /* transaction_id */ | |
540 int64_t) /* object_store_id */ | |
541 | |
542 // WebIDBDatabase::createTransaction() message. | |
543 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction, | |
544 IndexedDBHostMsg_DatabaseCreateTransaction_Params) | |
545 | |
546 // WebIDBDatabase::close() message. | |
547 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose, | |
548 int32_t /* ipc_database_id */) | |
549 | |
550 // WebIDBDatabase::versionChangeIgnored() message. | |
551 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseVersionChangeIgnored, | |
552 int32_t /* ipc_database_id */) | |
553 | |
554 // WebIDBDatabase::~WebIDBDatabase() message. | |
555 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed, | |
556 int32_t /* ipc_database_id */) | |
557 | |
558 // WebIDBDatabase::get() message. | |
559 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet, | |
560 IndexedDBHostMsg_DatabaseGet_Params) | |
561 | |
562 // WebIDBDatabase::getAll() message. | |
563 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGetAll, | |
564 IndexedDBHostMsg_DatabaseGetAll_Params) | |
565 | |
566 // WebIDBDatabase::observe() message. | |
567 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseObserve, | |
568 IndexedDBHostMsg_DatabaseObserve_Params) | |
569 | |
570 // WebIDBDatabase::put() message. | |
571 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut, | |
572 IndexedDBHostMsg_DatabasePut_Params) | |
573 | |
574 // WebIDBDatabase::setIndexKeys() message. | |
575 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys, | |
576 IndexedDBHostMsg_DatabaseSetIndexKeys_Params) | |
577 | |
578 // WebIDBDatabase::setIndexesReady() message. | |
579 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseSetIndexesReady, | |
580 int32_t, /* ipc_database_id */ | |
581 int64_t, /* transaction_id */ | |
582 int64_t, /* object_store_id */ | |
583 std::vector<int64_t>) /* index_ids */ | |
584 | |
585 // WebIDBDatabase::openCursor() message. | |
586 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor, | |
587 IndexedDBHostMsg_DatabaseOpenCursor_Params) | |
588 | |
589 // WebIDBDatabase::count() message. | |
590 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount, | |
591 IndexedDBHostMsg_DatabaseCount_Params) | |
592 | |
593 // WebIDBDatabase::deleteRange() message. | |
594 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange, | |
595 IndexedDBHostMsg_DatabaseDeleteRange_Params) | |
596 | |
597 // WebIDBDatabase::clear() message. | |
598 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_DatabaseClear, | |
599 int32_t, /* ipc_thread_id */ | |
600 int32_t, /* ipc_callbacks_id */ | |
601 int32_t, /* ipc_database_id */ | |
602 int64_t, /* transaction_id */ | |
603 int64_t) /* object_store_id */ | |
604 | |
605 // WebIDBDatabase::createIndex() message. | |
606 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex, | |
607 IndexedDBHostMsg_DatabaseCreateIndex_Params) | |
608 | |
609 // WebIDBDatabase::deleteIndex() message. | |
610 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseDeleteIndex, | |
611 int32_t, /* ipc_database_id */ | |
612 int64_t, /* transaction_id */ | |
613 int64_t, /* object_store_id */ | |
614 int64_t) /* index_id */ | |
615 | |
616 // WebIDBDatabase::abort() message. | |
617 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort, | |
618 int32_t, /* ipc_database_id */ | |
619 int64_t) /* transaction_id */ | |
620 | |
621 // WebIDBDatabase::commit() message. | |
622 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit, | |
623 int32_t, /* ipc_database_id */ | |
624 int64_t) /* transaction_id */ | |
625 | |
626 // WebIDBDatabase::~WebIDBCursor() message. | |
627 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed, | |
628 int32_t /* ipc_cursor_id */) | |
OLD | NEW |