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.
9 #include "content/common/indexed_db/indexed_db_key.h"
10 #include "content/common/indexed_db/indexed_db_key_path.h"
11 #include "content/common/indexed_db/indexed_db_key_range.h"
12 #include "content/common/indexed_db/indexed_db_param_traits.h"
13 #include "ipc/ipc_message_macros.h"
14 #include "ipc/ipc_param_traits.h"
15 #include "third_party/WebKit/public/platform/WebIDBCursor.h"
16 #include "third_party/WebKit/public/platform/WebIDBDatabase.h"
18 #define IPC_MESSAGE_START IndexedDBMsgStart
20 // Argument structures used in messages
22 IPC_ENUM_TRAITS(blink::WebIDBCursor::Direction
)
23 IPC_ENUM_TRAITS(blink::WebIDBDatabase::PutMode
)
24 IPC_ENUM_TRAITS(blink::WebIDBDatabase::TaskType
)
26 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss
, blink::WebIDBDataLossTotal
)
28 // Used to enumerate indexed databases.
29 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryGetDatabaseNames_Params
)
30 // The response should have these ids.
31 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
32 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
33 // The string id of the origin doing the initiating.
34 IPC_STRUCT_MEMBER(std::string
, database_identifier
)
37 // Used to open an indexed database.
38 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryOpen_Params
)
39 // The response should have these ids.
40 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
41 // Identifier of the request
42 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
43 // Identifier for database callbacks
44 IPC_STRUCT_MEMBER(int32
, ipc_database_callbacks_id
)
45 // The string id of the origin doing the initiating.
46 IPC_STRUCT_MEMBER(std::string
, database_identifier
)
47 // The name of the database.
48 IPC_STRUCT_MEMBER(base::string16
, name
)
49 // The transaction id used if a database upgrade is needed.
50 IPC_STRUCT_MEMBER(int64
, transaction_id
)
51 // The requested version of the database.
52 IPC_STRUCT_MEMBER(int64
, version
)
55 // Used to delete an indexed database.
56 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryDeleteDatabase_Params
)
57 // The response should have these ids.
58 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
59 IPC_STRUCT_MEMBER(int32
, ipc_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
)
66 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateTransaction_Params
)
67 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
68 // The database the object store belongs to.
69 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
70 // The transaction id as minted by the frontend.
71 IPC_STRUCT_MEMBER(int64
, transaction_id
)
72 // To get to WebIDBDatabaseCallbacks.
73 IPC_STRUCT_MEMBER(int32
, ipc_database_callbacks_id
)
74 // The scope of the transaction.
75 IPC_STRUCT_MEMBER(std::vector
<int64
>, object_store_ids
)
76 // The transaction mode.
77 IPC_STRUCT_MEMBER(int32
, mode
)
80 // Used to create an object store.
81 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateObjectStore_Params
)
82 // The database the object store belongs to.
83 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
84 // The transaction its associated with.
85 IPC_STRUCT_MEMBER(int64
, transaction_id
)
86 // The storage id of the object store.
87 IPC_STRUCT_MEMBER(int64
, object_store_id
)
88 // The name of the object store.
89 IPC_STRUCT_MEMBER(base::string16
, name
)
90 // The keyPath of the object store.
91 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath
, key_path
)
92 // Whether the object store created should have a key generator.
93 IPC_STRUCT_MEMBER(bool, auto_increment
)
96 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGet_Params
)
97 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
98 // The id any response should contain.
99 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
100 // The database the object store belongs to.
101 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
102 // The transaction its associated with.
103 IPC_STRUCT_MEMBER(int64
, transaction_id
)
104 // The object store's id.
105 IPC_STRUCT_MEMBER(int64
, object_store_id
)
107 IPC_STRUCT_MEMBER(int64
, index_id
)
108 // The serialized key range.
109 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange
, key_range
)
110 // If this is just retrieving the key
111 IPC_STRUCT_MEMBER(bool, key_only
)
114 // Used to set a value in an object store.
115 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabasePut_Params
)
116 // The id any response should contain.
117 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
118 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
119 // The database the object store belongs to.
120 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
121 // The transaction it's associated with.
122 IPC_STRUCT_MEMBER(int64
, transaction_id
)
123 // The object store's id.
124 IPC_STRUCT_MEMBER(int64
, object_store_id
)
126 IPC_STRUCT_MEMBER(int64
, index_id
)
128 IPC_STRUCT_MEMBER(std::string
, value
)
129 // The key to set it on (may not be "valid"/set in some cases).
130 IPC_STRUCT_MEMBER(content::IndexedDBKey
, key
)
131 // Whether this is an add or a put.
132 IPC_STRUCT_MEMBER(blink::WebIDBDatabase::PutMode
, put_mode
)
133 // The names of the indexes used below.
134 IPC_STRUCT_MEMBER(std::vector
<int64
>, index_ids
)
135 // The keys for each index, such that each inner vector corresponds
136 // to each index named in index_names, respectively.
137 IPC_STRUCT_MEMBER(std::vector
<std::vector
<content::IndexedDBKey
> >,
141 // Used to open both cursors and object cursors in IndexedDB.
142 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseOpenCursor_Params
)
143 // The response should have these ids.
144 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
145 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
146 // The database the object store belongs to.
147 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
148 // The transaction this request belongs to.
149 IPC_STRUCT_MEMBER(int64
, transaction_id
)
151 IPC_STRUCT_MEMBER(int64
, object_store_id
)
153 IPC_STRUCT_MEMBER(int64
, index_id
)
154 // The serialized key range.
155 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange
, key_range
)
156 // The direction of this cursor.
157 IPC_STRUCT_MEMBER(int32
, direction
)
158 // If this is just retrieving the key
159 IPC_STRUCT_MEMBER(bool, key_only
)
160 // The priority of this cursor.
161 IPC_STRUCT_MEMBER(blink::WebIDBDatabase::TaskType
, task_type
)
164 // Used to open both cursors and object cursors in IndexedDB.
165 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCount_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 transaction this request belongs to.
170 IPC_STRUCT_MEMBER(int64
, transaction_id
)
171 // The IPC id of the database.
172 IPC_STRUCT_MEMBER(int32
, ipc_database_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
)
181 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseDeleteRange_Params
)
182 // The response should have these ids.
183 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
184 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
185 // The IPC id of the database.
186 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
187 // The transaction this request belongs to.
188 IPC_STRUCT_MEMBER(int64
, transaction_id
)
190 IPC_STRUCT_MEMBER(int64
, object_store_id
)
191 // The serialized key range.
192 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange
, key_range
)
195 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseSetIndexKeys_Params
)
196 // The IPC id of the database.
197 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
198 // The transaction this request belongs to.
199 IPC_STRUCT_MEMBER(int64
, transaction_id
)
200 // The object store's id.
201 IPC_STRUCT_MEMBER(int64
, object_store_id
)
202 // The object store key that we're setting index keys for.
203 IPC_STRUCT_MEMBER(content::IndexedDBKey
, primary_key
)
204 // The indexes that we're setting keys on.
205 IPC_STRUCT_MEMBER(std::vector
<int64
>, index_ids
)
206 // A list of index keys for each index.
207 IPC_STRUCT_MEMBER(std::vector
<std::vector
<content::IndexedDBKey
> >,
211 // Used to create an index.
212 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateIndex_Params
)
213 // The transaction this is associated with.
214 IPC_STRUCT_MEMBER(int64
, transaction_id
)
215 // The database being used.
216 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
217 // The object store the index belongs to.
218 IPC_STRUCT_MEMBER(int64
, object_store_id
)
219 // The storage id of the index.
220 IPC_STRUCT_MEMBER(int64
, index_id
)
221 // The name of the index.
222 IPC_STRUCT_MEMBER(base::string16
, name
)
223 // The keyPath of the index.
224 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath
, key_path
)
225 // Whether the index created has unique keys.
226 IPC_STRUCT_MEMBER(bool, unique
)
227 // Whether the index created produces keys for each array entry.
228 IPC_STRUCT_MEMBER(bool, multi_entry
)
231 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessIDBCursor_Params
)
232 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
233 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
234 IPC_STRUCT_MEMBER(int32
, ipc_cursor_id
)
235 IPC_STRUCT_MEMBER(content::IndexedDBKey
, key
)
236 IPC_STRUCT_MEMBER(content::IndexedDBKey
, primary_key
)
237 IPC_STRUCT_MEMBER(std::string
, value
)
240 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorContinue_Params
)
241 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
242 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
243 IPC_STRUCT_MEMBER(int32
, ipc_cursor_id
)
244 IPC_STRUCT_MEMBER(content::IndexedDBKey
, key
)
245 IPC_STRUCT_MEMBER(content::IndexedDBKey
, primary_key
)
246 IPC_STRUCT_MEMBER(std::string
, value
)
249 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params
)
250 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
251 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
252 IPC_STRUCT_MEMBER(int32
, ipc_cursor_id
)
253 IPC_STRUCT_MEMBER(std::vector
<content::IndexedDBKey
>, keys
)
254 IPC_STRUCT_MEMBER(std::vector
<content::IndexedDBKey
>, primary_keys
)
255 IPC_STRUCT_MEMBER(std::vector
<std::string
>, values
)
258 IPC_STRUCT_BEGIN(IndexedDBIndexMetadata
)
259 IPC_STRUCT_MEMBER(int64
, id
)
260 IPC_STRUCT_MEMBER(base::string16
, name
)
261 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath
, keyPath
)
262 IPC_STRUCT_MEMBER(bool, unique
)
263 IPC_STRUCT_MEMBER(bool, multiEntry
)
266 IPC_STRUCT_BEGIN(IndexedDBObjectStoreMetadata
)
267 IPC_STRUCT_MEMBER(int64
, id
)
268 IPC_STRUCT_MEMBER(base::string16
, name
)
269 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath
, keyPath
)
270 IPC_STRUCT_MEMBER(bool, autoIncrement
)
271 IPC_STRUCT_MEMBER(int64
, max_index_id
)
272 IPC_STRUCT_MEMBER(std::vector
<IndexedDBIndexMetadata
>, indexes
)
275 IPC_STRUCT_BEGIN(IndexedDBDatabaseMetadata
)
276 IPC_STRUCT_MEMBER(int64
, id
)
277 IPC_STRUCT_MEMBER(base::string16
, name
)
278 IPC_STRUCT_MEMBER(base::string16
, version
)
279 IPC_STRUCT_MEMBER(int64
, int_version
)
280 IPC_STRUCT_MEMBER(int64
, max_object_store_id
)
281 IPC_STRUCT_MEMBER(std::vector
<IndexedDBObjectStoreMetadata
>, object_stores
)
284 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksUpgradeNeeded_Params
)
285 IPC_STRUCT_MEMBER(int32
, ipc_thread_id
)
286 IPC_STRUCT_MEMBER(int32
, ipc_callbacks_id
)
287 IPC_STRUCT_MEMBER(int32
, ipc_database_callbacks_id
)
288 IPC_STRUCT_MEMBER(int32
, ipc_database_id
)
289 IPC_STRUCT_MEMBER(int64
, old_version
)
290 IPC_STRUCT_MEMBER(blink::WebIDBDataLoss
, data_loss
)
291 IPC_STRUCT_MEMBER(std::string
, data_loss_message
)
292 IPC_STRUCT_MEMBER(IndexedDBDatabaseMetadata
, idb_metadata
)
295 // Indexed DB messages sent from the browser to the renderer.
297 // The thread_id needs to be the first parameter in these messages. In the IO
298 // thread on the renderer/client process, an IDB message filter assumes the
299 // thread_id is the first int.
301 // IDBCallback message handlers.
302 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor
,
303 IndexedDBMsg_CallbacksSuccessIDBCursor_Params
)
305 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue
,
306 IndexedDBMsg_CallbacksSuccessCursorContinue_Params
)
308 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance
,
309 IndexedDBMsg_CallbacksSuccessCursorContinue_Params
)
311 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch
,
312 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params
)
314 IPC_MESSAGE_CONTROL5(IndexedDBMsg_CallbacksSuccessIDBDatabase
,
315 int32
/* ipc_thread_id */,
316 int32
/* ipc_callbacks_id */,
317 int32
/* ipc_database_callbacks_id */,
318 int32
/* ipc_database_id */,
319 IndexedDBDatabaseMetadata
)
320 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessIndexedDBKey
,
321 int32
/* ipc_thread_id */,
322 int32
/* ipc_callbacks_id */,
323 content::IndexedDBKey
/* indexed_db_key */)
324 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessValue
,
325 int32
/* ipc_thread_id */,
326 int32
/* ipc_callbacks_id */,
327 std::string
/* value */)
328 IPC_MESSAGE_CONTROL5(IndexedDBMsg_CallbacksSuccessValueWithKey
,
329 int32
/* ipc_thread_id */,
330 int32
/* ipc_callbacks_id */,
331 std::string
/* value */,
332 content::IndexedDBKey
/* indexed_db_key */,
333 content::IndexedDBKeyPath
/* indexed_db_keypath */)
334 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessInteger
,
335 int32
/* ipc_thread_id */,
336 int32
/* ipc_callbacks_id */,
338 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessUndefined
,
339 int32
/* ipc_thread_id */,
340 int32
/* ipc_callbacks_id */)
341 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessStringList
,
342 int32
/* ipc_thread_id */,
343 int32
/* ipc_callbacks_id */,
344 std::vector
<base::string16
> /* dom_string_list */)
345 IPC_MESSAGE_CONTROL4(IndexedDBMsg_CallbacksError
,
346 int32
/* ipc_thread_id */,
347 int32
/* ipc_callbacks_id */,
349 base::string16
/* message */)
350 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksBlocked
,
351 int32
/* ipc_thread_id */,
352 int32
/* ipc_callbacks_id */)
353 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksIntBlocked
,
354 int32
/* ipc_thread_id */,
355 int32
/* ipc_callbacks_id */,
356 int64
/* existing_version */)
357 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksUpgradeNeeded
,
358 IndexedDBMsg_CallbacksUpgradeNeeded_Params
)
360 // IDBDatabaseCallback message handlers
361 IPC_MESSAGE_CONTROL2(IndexedDBMsg_DatabaseCallbacksForcedClose
,
362 int32
, /* ipc_thread_id */
363 int32
) /* ipc_database_callbacks_id */
364 IPC_MESSAGE_CONTROL4(IndexedDBMsg_DatabaseCallbacksIntVersionChange
,
365 int32
, /* ipc_thread_id */
366 int32
, /* ipc_database_callbacks_id */
367 int64
, /* old_version */
368 int64
) /* new_version */
369 IPC_MESSAGE_CONTROL5(IndexedDBMsg_DatabaseCallbacksAbort
,
370 int32
, /* ipc_thread_id */
371 int32
, /* ipc_database_callbacks_id */
372 int64
, /* transaction_id */
374 base::string16
) /* message */
375 IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksComplete
,
376 int32
, /* ipc_thread_id */
377 int32
, /* ipc_database_callbacks_id */
378 int64
) /* transaction_id */
380 // Indexed DB messages sent from the renderer to the browser.
382 // WebIDBCursor::advance() message.
383 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorAdvance
,
384 int32
, /* ipc_cursor_id */
385 int32
, /* ipc_thread_id */
386 int32
, /* ipc_callbacks_id */
387 unsigned long) /* count */
389 // WebIDBCursor::continue() message.
390 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_CursorContinue
,
391 int32
, /* ipc_cursor_id */
392 int32
, /* ipc_thread_id */
393 int32
, /* ipc_callbacks_id */
394 content::IndexedDBKey
, /* key */
395 content::IndexedDBKey
) /* primary_key */
397 // WebIDBCursor::prefetchContinue() message.
398 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorPrefetch
,
399 int32
, /* ipc_cursor_id */
400 int32
, /* ipc_thread_id */
401 int32
, /* ipc_callbacks_id */
404 // WebIDBCursor::prefetchReset() message.
405 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset
,
406 int32
, /* ipc_cursor_id */
407 int32
, /* used_prefetches */
408 int32
) /* used_prefetches */
410 // WebIDBFactory::getDatabaseNames() message.
411 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames
,
412 IndexedDBHostMsg_FactoryGetDatabaseNames_Params
)
414 // WebIDBFactory::open() message.
415 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen
,
416 IndexedDBHostMsg_FactoryOpen_Params
)
418 // WebIDBFactory::deleteDatabase() message.
419 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase
,
420 IndexedDBHostMsg_FactoryDeleteDatabase_Params
)
422 // WebIDBDatabase::createObjectStore() message.
423 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore
,
424 IndexedDBHostMsg_DatabaseCreateObjectStore_Params
)
426 // WebIDBDatabase::deleteObjectStore() message.
427 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore
,
428 int32
, /* ipc_database_id */
429 int64
, /* transaction_id */
430 int64
) /* object_store_id */
432 // WebIDBDatabase::createTransaction() message.
433 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction
,
434 IndexedDBHostMsg_DatabaseCreateTransaction_Params
)
436 // WebIDBDatabase::close() message.
437 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose
,
438 int32
/* ipc_database_callbacks_id */)
440 // WebIDBDatabase::~WebIDBDatabase() message.
441 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed
,
442 int32
/* ipc_database_id */)
444 // WebIDBDatabase::get() message.
445 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet
,
446 IndexedDBHostMsg_DatabaseGet_Params
)
448 // WebIDBDatabase::put() message.
449 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut
,
450 IndexedDBHostMsg_DatabasePut_Params
)
452 // WebIDBDatabase::setIndexKeys() message.
453 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys
,
454 IndexedDBHostMsg_DatabaseSetIndexKeys_Params
)
456 // WebIDBDatabase::setIndexesReady() message.
457 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseSetIndexesReady
,
458 int32
, /* ipc_database_id */
459 int64
, /* transaction_id */
460 int64
, /* object_store_id */
461 std::vector
<int64
>) /* index_ids */
463 // WebIDBDatabase::openCursor() message.
464 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor
,
465 IndexedDBHostMsg_DatabaseOpenCursor_Params
)
467 // WebIDBDatabase::count() message.
468 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount
,
469 IndexedDBHostMsg_DatabaseCount_Params
)
471 // WebIDBDatabase::deleteRange() message.
472 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange
,
473 IndexedDBHostMsg_DatabaseDeleteRange_Params
)
475 // WebIDBDatabase::clear() message.
476 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_DatabaseClear
,
477 int32
, /* ipc_thread_id */
478 int32
, /* ipc_callbacks_id */
479 int32
, /* ipc_database_id */
480 int64
, /* transaction_id */
481 int64
) /* object_store_id */
483 // WebIDBDatabase::createIndex() message.
484 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex
,
485 IndexedDBHostMsg_DatabaseCreateIndex_Params
)
487 // WebIDBDatabase::deleteIndex() message.
488 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseDeleteIndex
,
489 int32
, /* ipc_database_id */
490 int64
, /* transaction_id */
491 int64
, /* object_store_id */
492 int64
) /* index_id */
494 // WebIDBDatabase::abort() message.
495 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort
,
496 int32
, /* ipc_database_id */
497 int64
) /* transaction_id */
499 // WebIDBDatabase::commit() message.
500 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit
,
501 int32
, /* ipc_database_id */
502 int64
) /* transaction_id */
504 // WebIDBDatabase::~WebIDBCursor() message.
505 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed
,
506 int32
/* ipc_cursor_id */)