15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Message definition file, included multiple times, hence no include guard.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)#include <string>
85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include <utility>
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include <vector>
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/indexed_db/indexed_db_key.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/indexed_db/indexed_db_key_path.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/indexed_db/indexed_db_key_range.h"
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/common/indexed_db/indexed_db_param_traits.h"
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_message_macros.h"
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ipc/ipc_param_traits.h"
17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebIDBCursor.h"
18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "third_party/WebKit/public/platform/WebIDBDatabase.h"
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#undef IPC_MESSAGE_EXPORT
215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#define IPC_MESSAGE_EXPORT CONTENT_EXPORT
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define IPC_MESSAGE_START IndexedDBMsgStart
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Argument structures used in messages
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBCursor::Direction,
275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          blink::WebIDBCursor::DirectionLast)
285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDatabase::PutMode,
295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          blink::WebIDBDatabase::PutModeLast)
305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDatabase::TaskType,
315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)                          blink::WebIDBDatabase::TaskTypeLast)
325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)IPC_ENUM_TRAITS(blink::WebIDBDatabase::TransactionMode)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss, blink::WebIDBDataLossTotal)
35eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch
365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// An index id, and corresponding set of keys to insert.
375d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)typedef std::pair<int64, std::vector<content::IndexedDBKey> > IndexKeys;
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to enumerate indexed databases.
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryGetDatabaseNames_Params)
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The response should have these ids.
422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
44c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  // The string id of the origin doing the initiating.
457d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::string, database_identifier)
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to open an indexed database.
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryOpen_Params)
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The response should have these ids.
512a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Identifier of the request
532a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Identifier for database callbacks
552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_callbacks_id)
56c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  // The string id of the origin doing the initiating.
577d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::string, database_identifier)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The name of the database.
59a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction id used if a database upgrade is needed.
612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The requested version of the database.
635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(int64, version)
645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to delete an indexed database.
675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryDeleteDatabase_Params)
685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The response should have these ids.
692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
71c2e0dbddbe15c98d52c4786dac06cb8952a8ae6dTorne (Richard Coles)  // The string id of the origin doing the initiating.
727d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::string, database_identifier)
735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The name of the database.
74a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateTransaction_Params)
782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database the object store belongs to.
802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction id as minted by the frontend.
822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // To get to WebIDBDatabaseCallbacks.
842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_callbacks_id)
852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The scope of the transaction.
862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<int64>, object_store_ids)
872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction mode.
885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_MEMBER(blink::WebIDBDatabase::TransactionMode, mode)
892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to create an object store.
925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateObjectStore_Params)
932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database the object store belongs to.
942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction its associated with.
962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The storage id of the object store.
982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The name of the object store.
100a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The keyPath of the object store.
1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path)
1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Whether the object store created should have a key generator.
1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(bool, auto_increment)
1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
1065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGet_Params)
1082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
1092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The id any response should contain.
1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
1112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database the object store belongs to.
1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
1132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction its associated with.
1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
1152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store's id.
1162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
1172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The index's id.
1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, index_id)
1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The serialized key range.
1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range)
1212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // If this is just retrieving the key
1222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(bool, key_only)
1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
125c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_BEGIN(IndexedDBMsg_BlobOrFileInfo)
126c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(bool, is_file)
127c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(std::string, uuid)
128c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(base::string16, mime_type)
129c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(uint64, size)
130c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(base::string16, file_path)
131c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(base::string16, file_name)
132c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_MEMBER(double, last_modified)
133c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_END()
134c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to set a value in an object store.
1362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabasePut_Params)
1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The id any response should contain.
1382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
1392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
1402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database the object store belongs to.
1412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
1422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction it's associated with.
1432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
1442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store's id.
1452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
1462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The index's id.
1472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, index_id)
1485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The value to set.
1497dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_MEMBER(std::string, value)
1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The key to set it on (may not be "valid"/set in some cases).
1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, key)
1525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Whether this is an add or a put.
153f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_MEMBER(blink::WebIDBDatabase::PutMode, put_mode)
1545d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  // The index ids and the list of keys for each index.
1555d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys)
156c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
157c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info)
1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
1602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Used to open both cursors and object cursors in IndexedDB.
1612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseOpenCursor_Params)
1622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The response should have these ids.
1632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
1652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database the object store belongs to.
1662a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
1672a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction this request belongs to.
1682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
1692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store.
1702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
1712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The index if any.
1722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, index_id)
1732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The serialized key range.
1742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range)
1752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The direction of this cursor.
1765d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_MEMBER(blink::WebIDBCursor::Direction, direction)
1772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // If this is just retrieving the key
1782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(bool, key_only)
1792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The priority of this cursor.
180f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_MEMBER(blink::WebIDBDatabase::TaskType, task_type)
1812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
1822a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
1832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// Used to open both cursors and object cursors in IndexedDB.
1842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCount_Params)
1852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The response should have these ids.
1862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
1872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
1882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction this request belongs to.
1892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
1902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The IPC id of the database.
1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store.
1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The index if any.
1952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, index_id)
1962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The serialized key range.
1972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range)
1982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
1992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseDeleteRange_Params)
2012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The response should have these ids.
2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The IPC id of the database.
2052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
2062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction this request belongs to.
2072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
2082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store.
2092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
2102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The serialized key range.
2112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range)
2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseSetIndexKeys_Params)
2152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The IPC id of the database.
2162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
2172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction this request belongs to.
2182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The object store's id.
2202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
2212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store key that we're setting index keys for.
2222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key)
2235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  // The index ids and the list of keys for each index.
2245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys)
2255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Used to create an index.
2282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateIndex_Params)
2292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The transaction this is associated with.
2302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, transaction_id)
2312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The database being used.
2322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
2332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  // The object store the index belongs to.
2342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, object_store_id)
2355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The storage id of the index.
2362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, index_id)
2375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The name of the index.
238a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
2395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // The keyPath of the index.
2405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path)
2415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Whether the index created has unique keys.
2425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(bool, unique)
2435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  // Whether the index created produces keys for each array entry.
2445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(bool, multi_entry)
2455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
2465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessIDBCursor_Params)
2482a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
2492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
2502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_cursor_id)
2515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, key)
2525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key)
2537dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_MEMBER(std::string, value)
254c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
255c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info)
2565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
2575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorContinue_Params)
2592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
2602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
2612a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_cursor_id)
2625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, key)
2635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key)
2647dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_MEMBER(std::string, value)
265c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
266c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info)
2675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
2685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params)
2702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
2712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
2722a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_cursor_id)
2735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, keys)
2745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, primary_keys)
2757dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch  IPC_STRUCT_MEMBER(std::vector<std::string>, values)
276c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
277c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<std::vector<IndexedDBMsg_BlobOrFileInfo> >,
278c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                    blob_or_file_infos)
279c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_END()
280c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
281c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessValue_Params)
282c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
283c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
284c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::string, value)
285c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
286c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info)
287c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_END()
288c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
289c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessValueWithKey_Params)
290c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
291c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
292c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::string, value)
293c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key)
294c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path)
295c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Sideband data for any blob or file encoded in value.
296c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info)
2975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
2985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBIndexMetadata)
3002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, id)
301a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
3022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, keyPath)
3032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(bool, unique)
3042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(bool, multiEntry)
3052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
3065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBObjectStoreMetadata)
3082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, id)
309a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
3102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, keyPath)
3112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(bool, autoIncrement)
3122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, max_index_id)
3132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<IndexedDBIndexMetadata>, indexes)
3142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
3152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBDatabaseMetadata)
3172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, id)
318a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, name)
319a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  IPC_STRUCT_MEMBER(base::string16, version)
3202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, int_version)
3212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, max_object_store_id)
3222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(std::vector<IndexedDBObjectStoreMetadata>, object_stores)
3232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_END()
3242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
3252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksUpgradeNeeded_Params)
3262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_thread_id)
3272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_callbacks_id)
3282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_callbacks_id)
3292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int32, ipc_database_id)
3302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(int64, old_version)
331f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  IPC_STRUCT_MEMBER(blink::WebIDBDataLoss, data_loss)
3320f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)  IPC_STRUCT_MEMBER(std::string, data_loss_message)
3332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  IPC_STRUCT_MEMBER(IndexedDBDatabaseMetadata, idb_metadata)
3345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_STRUCT_END()
3355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Indexed DB messages sent from the browser to the renderer.
3375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// The thread_id needs to be the first parameter in these messages.  In the IO
3395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// thread on the renderer/client process, an IDB message filter assumes the
3405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// thread_id is the first int.
3415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// IDBCallback message handlers.
3435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor,
3445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBMsg_CallbacksSuccessIDBCursor_Params)
3455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue,
3475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBMsg_CallbacksSuccessCursorContinue_Params)
3485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance,
3505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBMsg_CallbacksSuccessCursorContinue_Params)
3515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch,
3535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params)
3545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3552a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL5(IndexedDBMsg_CallbacksSuccessIDBDatabase,
3562a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3572a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
3582a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_database_callbacks_id */,
3592a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_database_id */,
3602a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBDatabaseMetadata)
3615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessIndexedDBKey,
3622a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3632a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
3645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     content::IndexedDBKey /* indexed_db_key */)
365c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
366c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValue,
367c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                     IndexedDBMsg_CallbacksSuccessValue_Params)
368c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
369c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen MurdochIPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValueWithKey,
370c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch                     IndexedDBMsg_CallbacksSuccessValueWithKey_Params)
371c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
3725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessInteger,
3732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
3755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int64 /* value */)
3765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessUndefined,
3772a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3782a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */)
3795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessStringList,
3802a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3812a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
382a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                     std::vector<base::string16> /* dom_string_list */)
3835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBMsg_CallbacksError,
3842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
3865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int /* code */,
387a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                     base::string16 /* message */)
3885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksBlocked,
3892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */)
3915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksIntBlocked,
3922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_thread_id */,
3932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_callbacks_id */,
3945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int64 /* existing_version */)
3952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksUpgradeNeeded,
3962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBMsg_CallbacksUpgradeNeeded_Params)
3975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
3985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// IDBDatabaseCallback message handlers
3995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL2(IndexedDBMsg_DatabaseCallbacksForcedClose,
4002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32) /* ipc_database_callbacks_id */
4025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBMsg_DatabaseCallbacksIntVersionChange,
4032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_callbacks_id */
4055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int64, /* old_version */
4065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int64) /* new_version */
4072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL5(IndexedDBMsg_DatabaseCallbacksAbort,
4082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_callbacks_id */
4102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* transaction_id */
4112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int, /* code */
412a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)                     base::string16) /* message */
4132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksComplete,
4142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_callbacks_id */
4162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* transaction_id */
4175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Indexed DB messages sent from the renderer to the browser.
4195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBCursor::advance() message.
4215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorAdvance,
422f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)                     int32,  /* ipc_cursor_id */
423f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)                     int32,  /* ipc_thread_id */
424f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)                     int32,  /* ipc_callbacks_id */
425f8ee788a64d60abd8f2d742a5fdedde054ecd910Torne (Richard Coles)                     uint32) /* count */
4265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBCursor::continue() message.
428f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_CursorContinue,
4292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_cursor_id */
4302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_callbacks_id */
432f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                     content::IndexedDBKey, /* key */
433f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)                     content::IndexedDBKey) /* primary_key */
4345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBCursor::prefetchContinue() message.
4365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorPrefetch,
4372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_cursor_id */
4382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
4392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_callbacks_id */
4405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int32) /* n */
4415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBCursor::prefetchReset() message.
4435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset,
4442a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_cursor_id */
4455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int32, /* used_prefetches */
4465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     int32)  /* used_prefetches */
4475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBFactory::getDatabaseNames() message.
4495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames,
4505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBHostMsg_FactoryGetDatabaseNames_Params)
4515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBFactory::open() message.
4535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen,
4545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBHostMsg_FactoryOpen_Params)
4555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBFactory::deleteDatabase() message.
4575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase,
4585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                     IndexedDBHostMsg_FactoryDeleteDatabase_Params)
4595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
460a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_AckReceivedBlobs,
461a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)                     std::vector<std::string>) /* uuids */
462a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)
4635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBDatabase::createObjectStore() message.
4642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore,
4652a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseCreateObjectStore_Params)
4665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBDatabase::deleteObjectStore() message.
4682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore,
4692a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
4702a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* transaction_id */
4712a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* object_store_id */
4725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4732a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::createTransaction() message.
4742a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction,
4752a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseCreateTransaction_Params)
4765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBDatabase::close() message.
4785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose,
4792a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_database_callbacks_id */)
4805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
4815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBDatabase::~WebIDBDatabase() message.
4825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed,
4832a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_database_id */)
4842a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4852a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::get() message.
4862a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet,
4872a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseGet_Params)
4882a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4892a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::put() message.
4902a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut,
4912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabasePut_Params)
4922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::setIndexKeys() message.
4942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys,
4952a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseSetIndexKeys_Params)
4962a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
4972a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::setIndexesReady() message.
4982a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseSetIndexesReady,
4992a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
5002a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* transaction_id */
5012a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* object_store_id */
5022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     std::vector<int64>) /* index_ids */
5032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::openCursor() message.
5052a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor,
5062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseOpenCursor_Params)
5072a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5082a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::count() message.
5092a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount,
5102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseCount_Params)
5112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::deleteRange() message.
5132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange,
5142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseDeleteRange_Params)
5152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::clear() message.
5172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_DatabaseClear,
5182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_thread_id */
5192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_callbacks_id */
5202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
5212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* transaction_id */
5222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* object_store_id */
5232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::createIndex() message.
5252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex,
5262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     IndexedDBHostMsg_DatabaseCreateIndex_Params)
5272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::deleteIndex() message.
5292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseDeleteIndex,
5302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
5312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* transaction_id */
5322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64, /* object_store_id */
5332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* index_id */
5342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5352a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::abort() message.
5362a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort,
5372a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
5382a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* transaction_id */
5392a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
5402a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// WebIDBDatabase::commit() message.
5412a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit,
5422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32, /* ipc_database_id */
5432a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int64) /* transaction_id */
5445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
5455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// WebIDBDatabase::~WebIDBCursor() message.
5465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed,
5472a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)                     int32 /* ipc_cursor_id */)
548