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