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.
5 // Message definition file, included multiple times, hence no include guard.
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"
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_
23 // An index id, and corresponding set of keys to insert.
24 typedef std::pair
<int64
, std::vector
<content::IndexedDBKey
> > IndexKeys
;
26 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_
28 #undef IPC_MESSAGE_EXPORT
29 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT
30 #define IPC_MESSAGE_START IndexedDBMsgStart
32 // Argument structures used in messages
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
)
41 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss
, blink::WebIDBDataLossTotal
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
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
)
151 IPC_STRUCT_MEMBER(int64
, index_id
)
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
)
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
)
174 IPC_STRUCT_MEMBER(int64
, object_store_id
)
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
)
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
)
197 IPC_STRUCT_MEMBER(int64
, object_store_id
)
199 IPC_STRUCT_MEMBER(int64
, index_id
)
200 // The serialized key range.
201 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange
, key_range
)
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
)
213 IPC_STRUCT_MEMBER(int64
, object_store_id
)
214 // The serialized key range.
215 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange
, key_range
)
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
)
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
)
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
)
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
)
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
> >,
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
)
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
)
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
)
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
)
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
)
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
)
340 // Indexed DB messages sent from the browser to the renderer.
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.
346 // IDBCallback message handlers.
347 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor
,
348 IndexedDBMsg_CallbacksSuccessIDBCursor_Params
)
350 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue
,
351 IndexedDBMsg_CallbacksSuccessCursorContinue_Params
)
353 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance
,
354 IndexedDBMsg_CallbacksSuccessCursorContinue_Params
)
356 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch
,
357 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params
)
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 */)
370 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValue
,
371 IndexedDBMsg_CallbacksSuccessValue_Params
)
373 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValueWithKey
,
374 IndexedDBMsg_CallbacksSuccessValueWithKey_Params
)
376 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessInteger
,
377 int32
/* ipc_thread_id */,
378 int32
/* ipc_callbacks_id */,
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 */,
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
)
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 */
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 */
422 // Indexed DB messages sent from the renderer to the browser.
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 */
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 */
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 */
446 // WebIDBCursor::prefetchReset() message.
447 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset
,
448 int32
, /* ipc_cursor_id */
449 int32
, /* used_prefetches */
450 int32
) /* used_prefetches */
452 // WebIDBFactory::getDatabaseNames() message.
453 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames
,
454 IndexedDBHostMsg_FactoryGetDatabaseNames_Params
)
456 // WebIDBFactory::open() message.
457 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen
,
458 IndexedDBHostMsg_FactoryOpen_Params
)
460 // WebIDBFactory::deleteDatabase() message.
461 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase
,
462 IndexedDBHostMsg_FactoryDeleteDatabase_Params
)
464 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_AckReceivedBlobs
,
465 std::vector
<std::string
>) /* uuids */
467 // WebIDBDatabase::createObjectStore() message.
468 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore
,
469 IndexedDBHostMsg_DatabaseCreateObjectStore_Params
)
471 // WebIDBDatabase::deleteObjectStore() message.
472 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore
,
473 int32
, /* ipc_database_id */
474 int64
, /* transaction_id */
475 int64
) /* object_store_id */
477 // WebIDBDatabase::createTransaction() message.
478 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction
,
479 IndexedDBHostMsg_DatabaseCreateTransaction_Params
)
481 // WebIDBDatabase::close() message.
482 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose
,
483 int32
/* ipc_database_id */)
485 // WebIDBDatabase::versionChangeIgnored() message.
486 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseVersionChangeIgnored
,
487 int32
/* ipc_database_id */)
489 // WebIDBDatabase::~WebIDBDatabase() message.
490 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed
,
491 int32
/* ipc_database_id */)
493 // WebIDBDatabase::get() message.
494 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet
,
495 IndexedDBHostMsg_DatabaseGet_Params
)
497 // WebIDBDatabase::put() message.
498 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut
,
499 IndexedDBHostMsg_DatabasePut_Params
)
501 // WebIDBDatabase::setIndexKeys() message.
502 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys
,
503 IndexedDBHostMsg_DatabaseSetIndexKeys_Params
)
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 */
512 // WebIDBDatabase::openCursor() message.
513 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor
,
514 IndexedDBHostMsg_DatabaseOpenCursor_Params
)
516 // WebIDBDatabase::count() message.
517 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount
,
518 IndexedDBHostMsg_DatabaseCount_Params
)
520 // WebIDBDatabase::deleteRange() message.
521 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange
,
522 IndexedDBHostMsg_DatabaseDeleteRange_Params
)
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 */
532 // WebIDBDatabase::createIndex() message.
533 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex
,
534 IndexedDBHostMsg_DatabaseCreateIndex_Params
)
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 */
543 // WebIDBDatabase::abort() message.
544 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort
,
545 int32
, /* ipc_database_id */
546 int64
) /* transaction_id */
548 // WebIDBDatabase::commit() message.
549 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit
,
550 int32
, /* ipc_database_id */
551 int64
) /* transaction_id */
553 // WebIDBDatabase::~WebIDBCursor() message.
554 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed
,
555 int32
/* ipc_cursor_id */)