IndexedDBFactory now ForceCloses databases.
[chromium-blink-merge.git] / content / common / indexed_db / indexed_db_messages.h
blob047fd0ce488c851c7d819e3ce8b61e00c5d63744
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.
7 #include <vector>
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)
35 IPC_STRUCT_END()
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)
53 IPC_STRUCT_END()
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)
64 IPC_STRUCT_END()
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)
78 IPC_STRUCT_END()
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)
94 IPC_STRUCT_END()
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)
106 // The index's 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)
112 IPC_STRUCT_END()
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)
125 // The index's id.
126 IPC_STRUCT_MEMBER(int64, index_id)
127 // The value to set.
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> >,
138 index_keys)
139 IPC_STRUCT_END()
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)
150 // The object store.
151 IPC_STRUCT_MEMBER(int64, object_store_id)
152 // The index if any.
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)
162 IPC_STRUCT_END()
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)
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 IPC_STRUCT_END()
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)
189 // The object store.
190 IPC_STRUCT_MEMBER(int64, object_store_id)
191 // The serialized key range.
192 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range)
193 IPC_STRUCT_END()
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> >,
208 index_keys)
209 IPC_STRUCT_END()
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)
229 IPC_STRUCT_END()
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)
238 IPC_STRUCT_END()
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)
247 IPC_STRUCT_END()
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)
256 IPC_STRUCT_END()
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)
264 IPC_STRUCT_END()
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)
273 IPC_STRUCT_END()
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)
282 IPC_STRUCT_END()
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)
293 IPC_STRUCT_END()
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 */,
337 int64 /* value */)
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 */,
348 int /* code */,
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 */
373 int, /* code */
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 */
402 int32) /* n */
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 */)