1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Message definition file, included multiple times, hence no include guard. 6 7 #include <vector> 8 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" 17 18 #define IPC_MESSAGE_START IndexedDBMsgStart 19 20 // Argument structures used in messages 21 22 IPC_ENUM_TRAITS(blink::WebIDBCursor::Direction) 23 IPC_ENUM_TRAITS(blink::WebIDBDatabase::PutMode) 24 IPC_ENUM_TRAITS(blink::WebIDBDatabase::TaskType) 25 26 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss, blink::WebIDBDataLossTotal) 27 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() 36 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() 54 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() 65 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() 79 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() 95 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() 113 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() 140 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() 163 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() 180 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() 194 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() 210 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() 230 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() 239 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() 248 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() 257 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() 265 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() 274 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() 283 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() 294 295 // Indexed DB messages sent from the browser to the renderer. 296 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. 300 301 // IDBCallback message handlers. 302 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor, 303 IndexedDBMsg_CallbacksSuccessIDBCursor_Params) 304 305 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue, 306 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) 307 308 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance, 309 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) 310 311 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch, 312 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params) 313 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) 359 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 */ 379 380 // Indexed DB messages sent from the renderer to the browser. 381 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 */ 388 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 */ 396 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 */ 403 404 // WebIDBCursor::prefetchReset() message. 405 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset, 406 int32, /* ipc_cursor_id */ 407 int32, /* used_prefetches */ 408 int32) /* used_prefetches */ 409 410 // WebIDBFactory::getDatabaseNames() message. 411 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames, 412 IndexedDBHostMsg_FactoryGetDatabaseNames_Params) 413 414 // WebIDBFactory::open() message. 415 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen, 416 IndexedDBHostMsg_FactoryOpen_Params) 417 418 // WebIDBFactory::deleteDatabase() message. 419 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase, 420 IndexedDBHostMsg_FactoryDeleteDatabase_Params) 421 422 // WebIDBDatabase::createObjectStore() message. 423 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore, 424 IndexedDBHostMsg_DatabaseCreateObjectStore_Params) 425 426 // WebIDBDatabase::deleteObjectStore() message. 427 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore, 428 int32, /* ipc_database_id */ 429 int64, /* transaction_id */ 430 int64) /* object_store_id */ 431 432 // WebIDBDatabase::createTransaction() message. 433 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction, 434 IndexedDBHostMsg_DatabaseCreateTransaction_Params) 435 436 // WebIDBDatabase::close() message. 437 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose, 438 int32 /* ipc_database_callbacks_id */) 439 440 // WebIDBDatabase::~WebIDBDatabase() message. 441 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed, 442 int32 /* ipc_database_id */) 443 444 // WebIDBDatabase::get() message. 445 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet, 446 IndexedDBHostMsg_DatabaseGet_Params) 447 448 // WebIDBDatabase::put() message. 449 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut, 450 IndexedDBHostMsg_DatabasePut_Params) 451 452 // WebIDBDatabase::setIndexKeys() message. 453 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys, 454 IndexedDBHostMsg_DatabaseSetIndexKeys_Params) 455 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 */ 462 463 // WebIDBDatabase::openCursor() message. 464 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor, 465 IndexedDBHostMsg_DatabaseOpenCursor_Params) 466 467 // WebIDBDatabase::count() message. 468 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount, 469 IndexedDBHostMsg_DatabaseCount_Params) 470 471 // WebIDBDatabase::deleteRange() message. 472 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange, 473 IndexedDBHostMsg_DatabaseDeleteRange_Params) 474 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 */ 482 483 // WebIDBDatabase::createIndex() message. 484 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex, 485 IndexedDBHostMsg_DatabaseCreateIndex_Params) 486 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 */ 493 494 // WebIDBDatabase::abort() message. 495 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort, 496 int32, /* ipc_database_id */ 497 int64) /* transaction_id */ 498 499 // WebIDBDatabase::commit() message. 500 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit, 501 int32, /* ipc_database_id */ 502 int64) /* transaction_id */ 503 504 // WebIDBDatabase::~WebIDBCursor() message. 505 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed, 506 int32 /* ipc_cursor_id */) 507 508