| OLD | NEW |
| (Empty) |
| 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 <stdint.h> | |
| 8 | |
| 9 #include <map> | |
| 10 #include <string> | |
| 11 #include <utility> | |
| 12 #include <vector> | |
| 13 | |
| 14 #include "content/common/indexed_db/indexed_db_key.h" | |
| 15 #include "content/common/indexed_db/indexed_db_key_path.h" | |
| 16 #include "content/common/indexed_db/indexed_db_key_range.h" | |
| 17 #include "content/common/indexed_db/indexed_db_param_traits.h" | |
| 18 #include "content/public/common/common_param_traits.h" | |
| 19 #include "content/public/common/common_param_traits_macros.h" | |
| 20 #include "ipc/ipc_message_macros.h" | |
| 21 #include "ipc/ipc_message_utils.h" | |
| 22 #include "ipc/ipc_param_traits.h" | |
| 23 #include "third_party/WebKit/public/platform/modules/indexeddb/WebIDBTypes.h" | |
| 24 #include "url/origin.h" | |
| 25 | |
| 26 // Singly-included section for typedefs in multiply-included file. | |
| 27 #ifndef CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
| 28 #define CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
| 29 | |
| 30 // An index id, and corresponding set of keys to insert. | |
| 31 | |
| 32 typedef std::pair<int64_t, std::vector<content::IndexedDBKey>> IndexKeys; | |
| 33 // IPC_MESSAGE macros fail on the std::map, when expanding. We need to define | |
| 34 // a type to avoid that. | |
| 35 // Map observer_id to corresponding set of indices in observations. | |
| 36 typedef std::map<int32_t, std::vector<int32_t>> ObservationIndex; | |
| 37 | |
| 38 #endif // CONTENT_COMMON_INDEXED_DB_INDEXED_DB_MESSAGES_H_ | |
| 39 | |
| 40 #undef IPC_MESSAGE_EXPORT | |
| 41 #define IPC_MESSAGE_EXPORT CONTENT_EXPORT | |
| 42 #define IPC_MESSAGE_START IndexedDBMsgStart | |
| 43 | |
| 44 // Argument structures used in messages | |
| 45 | |
| 46 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBCursorDirection, | |
| 47 blink::WebIDBCursorDirectionLast) | |
| 48 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBPutMode, blink::WebIDBPutModeLast) | |
| 49 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBTaskType, blink::WebIDBTaskTypeLast) | |
| 50 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBTransactionMode, | |
| 51 blink::WebIDBTransactionModeLast) | |
| 52 | |
| 53 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBDataLoss, blink::WebIDBDataLossTotal) | |
| 54 IPC_ENUM_TRAITS_MAX_VALUE(blink::WebIDBOperationType, | |
| 55 blink::WebIDBOperationTypeLast) | |
| 56 | |
| 57 // Used to enumerate indexed databases. | |
| 58 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryGetDatabaseNames_Params) | |
| 59 // The response should have these ids. | |
| 60 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 61 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 62 // The origin doing the initiating. | |
| 63 IPC_STRUCT_MEMBER(url::Origin, origin) | |
| 64 IPC_STRUCT_END() | |
| 65 | |
| 66 // Used to open an indexed database. | |
| 67 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryOpen_Params) | |
| 68 // The response should have these ids. | |
| 69 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 70 // Identifier of the request | |
| 71 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 72 // Identifier for database callbacks | |
| 73 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
| 74 // The origin doing the initiating. | |
| 75 IPC_STRUCT_MEMBER(url::Origin, origin) | |
| 76 // The name of the database. | |
| 77 IPC_STRUCT_MEMBER(base::string16, name) | |
| 78 // The transaction id used if a database upgrade is needed. | |
| 79 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 80 // The requested version of the database. | |
| 81 IPC_STRUCT_MEMBER(int64_t, version) | |
| 82 IPC_STRUCT_END() | |
| 83 | |
| 84 // Used to delete an indexed database. | |
| 85 IPC_STRUCT_BEGIN(IndexedDBHostMsg_FactoryDeleteDatabase_Params) | |
| 86 // The response should have these ids. | |
| 87 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 88 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 89 // The origin doing the initiating. | |
| 90 IPC_STRUCT_MEMBER(url::Origin, origin) | |
| 91 // The name of the database. | |
| 92 IPC_STRUCT_MEMBER(base::string16, name) | |
| 93 IPC_STRUCT_END() | |
| 94 | |
| 95 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateTransaction_Params) | |
| 96 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 97 // The database the object store belongs to. | |
| 98 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 99 // The transaction id as minted by the frontend. | |
| 100 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 101 // To get to WebIDBDatabaseCallbacks. | |
| 102 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
| 103 // The scope of the transaction. | |
| 104 IPC_STRUCT_MEMBER(std::vector<int64_t>, object_store_ids) | |
| 105 // The transaction mode. | |
| 106 IPC_STRUCT_MEMBER(blink::WebIDBTransactionMode, mode) | |
| 107 IPC_STRUCT_END() | |
| 108 | |
| 109 // Used to create an object store. | |
| 110 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateObjectStore_Params) | |
| 111 // The database the object store belongs to. | |
| 112 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 113 // The transaction its associated with. | |
| 114 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 115 // The storage id of the object store. | |
| 116 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 117 // The name of the object store. | |
| 118 IPC_STRUCT_MEMBER(base::string16, name) | |
| 119 // The keyPath of the object store. | |
| 120 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
| 121 // Whether the object store created should have a key generator. | |
| 122 IPC_STRUCT_MEMBER(bool, auto_increment) | |
| 123 IPC_STRUCT_END() | |
| 124 | |
| 125 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGet_Params) | |
| 126 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 127 // The id any response should contain. | |
| 128 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 129 // The database the object store belongs to. | |
| 130 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 131 // The transaction its associated with. | |
| 132 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 133 // The object store's id. | |
| 134 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 135 // The index's id. | |
| 136 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 137 // The serialized key range. | |
| 138 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 139 // If this is just retrieving the key | |
| 140 IPC_STRUCT_MEMBER(bool, key_only) | |
| 141 IPC_STRUCT_END() | |
| 142 | |
| 143 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseGetAll_Params) | |
| 144 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 145 // The id any response should contain. | |
| 146 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 147 // The database the object store belongs to. | |
| 148 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 149 // The transaction its associated with. | |
| 150 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 151 // The object store's id. | |
| 152 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 153 // The index id. | |
| 154 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 155 // The serialized key range. | |
| 156 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 157 // If this is just retrieving the key | |
| 158 IPC_STRUCT_MEMBER(bool, key_only) | |
| 159 // The max number of values to retrieve. | |
| 160 IPC_STRUCT_MEMBER(int64_t, max_count) | |
| 161 IPC_STRUCT_END() | |
| 162 | |
| 163 IPC_STRUCT_BEGIN(IndexedDBMsg_BlobOrFileInfo) | |
| 164 IPC_STRUCT_MEMBER(bool, is_file) | |
| 165 IPC_STRUCT_MEMBER(std::string, uuid) | |
| 166 IPC_STRUCT_MEMBER(base::string16, mime_type) | |
| 167 IPC_STRUCT_MEMBER(uint64_t, size) | |
| 168 IPC_STRUCT_MEMBER(base::string16, file_path) | |
| 169 IPC_STRUCT_MEMBER(base::string16, file_name) | |
| 170 IPC_STRUCT_MEMBER(double, last_modified) | |
| 171 IPC_STRUCT_END() | |
| 172 | |
| 173 IPC_STRUCT_BEGIN(IndexedDBMsg_Value) | |
| 174 // The serialized value being transferred. | |
| 175 IPC_STRUCT_MEMBER(std::string, bits) | |
| 176 // Sideband data for any blob or file encoded in value. | |
| 177 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_BlobOrFileInfo>, blob_or_file_info) | |
| 178 IPC_STRUCT_END() | |
| 179 | |
| 180 IPC_STRUCT_BEGIN_WITH_PARENT(IndexedDBMsg_ReturnValue, IndexedDBMsg_Value) | |
| 181 IPC_STRUCT_TRAITS_PARENT(IndexedDBMsg_Value) | |
| 182 // Optional primary key & path used only when key generator specified. | |
| 183 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
| 184 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
| 185 IPC_STRUCT_END() | |
| 186 | |
| 187 // WebIDBDatabase::observe() message. | |
| 188 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseObserve_Params) | |
| 189 // The database the observer observers on. | |
| 190 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 191 // The transaction it's associated with. | |
| 192 IPC_STRUCT_MEMBER(int32_t, transaction_id) | |
| 193 IPC_STRUCT_MEMBER(int32_t, observer_id) | |
| 194 IPC_STRUCT_MEMBER(bool, include_transaction) | |
| 195 IPC_STRUCT_MEMBER(bool, no_records) | |
| 196 IPC_STRUCT_MEMBER(bool, values) | |
| 197 IPC_STRUCT_MEMBER(uint16_t, operation_types) | |
| 198 IPC_STRUCT_END() | |
| 199 | |
| 200 // Used to set a value in an object store. | |
| 201 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabasePut_Params) | |
| 202 // The id any response should contain. | |
| 203 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 204 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 205 // The database the object store belongs to. | |
| 206 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 207 // The transaction it's associated with. | |
| 208 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 209 // The object store's id. | |
| 210 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 211 // The index's id. | |
| 212 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 213 // The value to set. | |
| 214 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
| 215 // The key to set it on (may not be "valid"/set in some cases). | |
| 216 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
| 217 // Whether this is an add or a put. | |
| 218 IPC_STRUCT_MEMBER(blink::WebIDBPutMode, put_mode) | |
| 219 // The index ids and the list of keys for each index. | |
| 220 IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys) | |
| 221 IPC_STRUCT_END() | |
| 222 | |
| 223 // Used to open both cursors and object cursors in IndexedDB. | |
| 224 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseOpenCursor_Params) | |
| 225 // The response should have these ids. | |
| 226 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 227 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 228 // The database the object store belongs to. | |
| 229 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 230 // The transaction this request belongs to. | |
| 231 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 232 // The object store. | |
| 233 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 234 // The index if any. | |
| 235 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 236 // The serialized key range. | |
| 237 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 238 // The direction of this cursor. | |
| 239 IPC_STRUCT_MEMBER(blink::WebIDBCursorDirection, direction) | |
| 240 // If this is just retrieving the key | |
| 241 IPC_STRUCT_MEMBER(bool, key_only) | |
| 242 // The priority of this cursor. | |
| 243 IPC_STRUCT_MEMBER(blink::WebIDBTaskType, task_type) | |
| 244 IPC_STRUCT_END() | |
| 245 | |
| 246 // Used to open both cursors and object cursors in IndexedDB. | |
| 247 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCount_Params) | |
| 248 // The response should have these ids. | |
| 249 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 250 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 251 // The transaction this request belongs to. | |
| 252 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 253 // The IPC id of the database. | |
| 254 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 255 // The object store. | |
| 256 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 257 // The index if any. | |
| 258 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 259 // The serialized key range. | |
| 260 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 261 IPC_STRUCT_END() | |
| 262 | |
| 263 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseDeleteRange_Params) | |
| 264 // The response should have these ids. | |
| 265 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 266 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 267 // The IPC id of the database. | |
| 268 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 269 // The transaction this request belongs to. | |
| 270 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 271 // The object store. | |
| 272 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 273 // The serialized key range. | |
| 274 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 275 IPC_STRUCT_END() | |
| 276 | |
| 277 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseSetIndexKeys_Params) | |
| 278 // The IPC id of the database. | |
| 279 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 280 // The transaction this request belongs to. | |
| 281 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 282 // The object store's id. | |
| 283 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 284 // The object store key that we're setting index keys for. | |
| 285 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
| 286 // The index ids and the list of keys for each index. | |
| 287 IPC_STRUCT_MEMBER(std::vector<IndexKeys>, index_keys) | |
| 288 IPC_STRUCT_END() | |
| 289 | |
| 290 // Used to create an index. | |
| 291 IPC_STRUCT_BEGIN(IndexedDBHostMsg_DatabaseCreateIndex_Params) | |
| 292 // The transaction this is associated with. | |
| 293 IPC_STRUCT_MEMBER(int64_t, transaction_id) | |
| 294 // The database being used. | |
| 295 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 296 // The object store the index belongs to. | |
| 297 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 298 // The storage id of the index. | |
| 299 IPC_STRUCT_MEMBER(int64_t, index_id) | |
| 300 // The name of the index. | |
| 301 IPC_STRUCT_MEMBER(base::string16, name) | |
| 302 // The keyPath of the index. | |
| 303 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
| 304 // Whether the index created has unique keys. | |
| 305 IPC_STRUCT_MEMBER(bool, unique) | |
| 306 // Whether the index created produces keys for each array entry. | |
| 307 IPC_STRUCT_MEMBER(bool, multi_entry) | |
| 308 IPC_STRUCT_END() | |
| 309 | |
| 310 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessIDBCursor_Params) | |
| 311 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 312 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 313 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
| 314 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
| 315 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
| 316 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
| 317 IPC_STRUCT_END() | |
| 318 | |
| 319 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
| 320 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 321 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 322 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
| 323 IPC_STRUCT_MEMBER(content::IndexedDBKey, key) | |
| 324 IPC_STRUCT_MEMBER(content::IndexedDBKey, primary_key) | |
| 325 IPC_STRUCT_MEMBER(IndexedDBMsg_Value, value) | |
| 326 IPC_STRUCT_END() | |
| 327 | |
| 328 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params) | |
| 329 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 330 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 331 IPC_STRUCT_MEMBER(int32_t, ipc_cursor_id) | |
| 332 IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, keys) | |
| 333 IPC_STRUCT_MEMBER(std::vector<content::IndexedDBKey>, primary_keys) | |
| 334 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_Value>, values) | |
| 335 IPC_STRUCT_END() | |
| 336 | |
| 337 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessArray_Params) | |
| 338 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 339 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 340 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_ReturnValue>, values) | |
| 341 IPC_STRUCT_END() | |
| 342 | |
| 343 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksSuccessValue_Params) | |
| 344 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 345 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 346 IPC_STRUCT_MEMBER(IndexedDBMsg_ReturnValue, value) | |
| 347 IPC_STRUCT_END() | |
| 348 | |
| 349 IPC_STRUCT_BEGIN(IndexedDBIndexMetadata) | |
| 350 IPC_STRUCT_MEMBER(int64_t, id) | |
| 351 IPC_STRUCT_MEMBER(base::string16, name) | |
| 352 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
| 353 IPC_STRUCT_MEMBER(bool, unique) | |
| 354 IPC_STRUCT_MEMBER(bool, multi_entry) | |
| 355 IPC_STRUCT_END() | |
| 356 | |
| 357 IPC_STRUCT_BEGIN(IndexedDBObjectStoreMetadata) | |
| 358 IPC_STRUCT_MEMBER(int64_t, id) | |
| 359 IPC_STRUCT_MEMBER(base::string16, name) | |
| 360 IPC_STRUCT_MEMBER(content::IndexedDBKeyPath, key_path) | |
| 361 IPC_STRUCT_MEMBER(bool, auto_increment) | |
| 362 IPC_STRUCT_MEMBER(int64_t, max_index_id) | |
| 363 IPC_STRUCT_MEMBER(std::vector<IndexedDBIndexMetadata>, indexes) | |
| 364 IPC_STRUCT_END() | |
| 365 | |
| 366 IPC_STRUCT_BEGIN(IndexedDBDatabaseMetadata) | |
| 367 IPC_STRUCT_MEMBER(int64_t, id) | |
| 368 IPC_STRUCT_MEMBER(base::string16, name) | |
| 369 IPC_STRUCT_MEMBER(int64_t, version) | |
| 370 IPC_STRUCT_MEMBER(int64_t, max_object_store_id) | |
| 371 IPC_STRUCT_MEMBER(std::vector<IndexedDBObjectStoreMetadata>, object_stores) | |
| 372 IPC_STRUCT_END() | |
| 373 | |
| 374 IPC_STRUCT_BEGIN(IndexedDBMsg_CallbacksUpgradeNeeded_Params) | |
| 375 IPC_STRUCT_MEMBER(int32_t, ipc_thread_id) | |
| 376 IPC_STRUCT_MEMBER(int32_t, ipc_callbacks_id) | |
| 377 IPC_STRUCT_MEMBER(int32_t, ipc_database_callbacks_id) | |
| 378 IPC_STRUCT_MEMBER(int32_t, ipc_database_id) | |
| 379 IPC_STRUCT_MEMBER(int64_t, old_version) | |
| 380 IPC_STRUCT_MEMBER(blink::WebIDBDataLoss, data_loss) | |
| 381 IPC_STRUCT_MEMBER(std::string, data_loss_message) | |
| 382 IPC_STRUCT_MEMBER(IndexedDBDatabaseMetadata, idb_metadata) | |
| 383 IPC_STRUCT_END() | |
| 384 | |
| 385 IPC_STRUCT_BEGIN(IndexedDBMsg_Observation) | |
| 386 IPC_STRUCT_MEMBER(int64_t, object_store_id) | |
| 387 IPC_STRUCT_MEMBER(blink::WebIDBOperationType, type) | |
| 388 IPC_STRUCT_MEMBER(content::IndexedDBKeyRange, key_range) | |
| 389 IPC_STRUCT_END() | |
| 390 | |
| 391 IPC_STRUCT_BEGIN(IndexedDBMsg_ObserverChanges) | |
| 392 IPC_STRUCT_MEMBER(ObservationIndex, observation_index) | |
| 393 IPC_STRUCT_MEMBER(std::vector<IndexedDBMsg_Observation>, observations) | |
| 394 IPC_STRUCT_END() | |
| 395 | |
| 396 // Indexed DB messages sent from the browser to the renderer. | |
| 397 | |
| 398 // The thread_id needs to be the first parameter in these messages. In the IO | |
| 399 // thread on the renderer/client process, an IDB message filter assumes the | |
| 400 // thread_id is the first int. | |
| 401 | |
| 402 // IDBCallback message handlers. | |
| 403 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessIDBCursor, | |
| 404 IndexedDBMsg_CallbacksSuccessIDBCursor_Params) | |
| 405 | |
| 406 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorContinue, | |
| 407 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
| 408 | |
| 409 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorAdvance, | |
| 410 IndexedDBMsg_CallbacksSuccessCursorContinue_Params) | |
| 411 | |
| 412 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessCursorPrefetch, | |
| 413 IndexedDBMsg_CallbacksSuccessCursorPrefetch_Params) | |
| 414 | |
| 415 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessArray, | |
| 416 IndexedDBMsg_CallbacksSuccessArray_Params) | |
| 417 | |
| 418 IPC_MESSAGE_CONTROL5(IndexedDBMsg_CallbacksSuccessIDBDatabase, | |
| 419 int32_t /* ipc_thread_id */, | |
| 420 int32_t /* ipc_callbacks_id */, | |
| 421 int32_t /* ipc_database_callbacks_id */, | |
| 422 int32_t /* ipc_database_id */, | |
| 423 IndexedDBDatabaseMetadata) | |
| 424 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessIndexedDBKey, | |
| 425 int32_t /* ipc_thread_id */, | |
| 426 int32_t /* ipc_callbacks_id */, | |
| 427 content::IndexedDBKey /* indexed_db_key */) | |
| 428 | |
| 429 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessValue, | |
| 430 IndexedDBMsg_CallbacksSuccessValue_Params) | |
| 431 | |
| 432 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessInteger, | |
| 433 int32_t /* ipc_thread_id */, | |
| 434 int32_t /* ipc_callbacks_id */, | |
| 435 int64_t /* value */) | |
| 436 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessUndefined, | |
| 437 int32_t /* ipc_thread_id */, | |
| 438 int32_t /* ipc_callbacks_id */) | |
| 439 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksSuccessStringList, | |
| 440 int32_t /* ipc_thread_id */, | |
| 441 int32_t /* ipc_callbacks_id */, | |
| 442 std::vector<base::string16> /* dom_string_list */) | |
| 443 IPC_MESSAGE_CONTROL4(IndexedDBMsg_CallbacksError, | |
| 444 int32_t /* ipc_thread_id */, | |
| 445 int32_t /* ipc_callbacks_id */, | |
| 446 int /* code */, | |
| 447 base::string16 /* message */) | |
| 448 IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksBlocked, | |
| 449 int32_t /* ipc_thread_id */, | |
| 450 int32_t /* ipc_callbacks_id */) | |
| 451 IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksIntBlocked, | |
| 452 int32_t /* ipc_thread_id */, | |
| 453 int32_t /* ipc_callbacks_id */, | |
| 454 int64_t /* existing_version */) | |
| 455 IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksUpgradeNeeded, | |
| 456 IndexedDBMsg_CallbacksUpgradeNeeded_Params) | |
| 457 | |
| 458 // IDBDatabaseCallback message handlers | |
| 459 IPC_MESSAGE_CONTROL2(IndexedDBMsg_DatabaseCallbacksForcedClose, | |
| 460 int32_t, /* ipc_thread_id */ | |
| 461 int32_t) /* ipc_database_callbacks_id */ | |
| 462 IPC_MESSAGE_CONTROL4(IndexedDBMsg_DatabaseCallbacksVersionChange, | |
| 463 int32_t, /* ipc_thread_id */ | |
| 464 int32_t, /* ipc_database_callbacks_id */ | |
| 465 int64_t, /* old_version */ | |
| 466 int64_t) /* new_version */ | |
| 467 IPC_MESSAGE_CONTROL5(IndexedDBMsg_DatabaseCallbacksAbort, | |
| 468 int32_t, /* ipc_thread_id */ | |
| 469 int32_t, /* ipc_database_callbacks_id */ | |
| 470 int64_t, /* transaction_id */ | |
| 471 int, /* code */ | |
| 472 base::string16) /* message */ | |
| 473 IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksComplete, | |
| 474 int32_t, /* ipc_thread_id */ | |
| 475 int32_t, /* ipc_database_callbacks_id */ | |
| 476 int64_t) /* transaction_id */ | |
| 477 IPC_MESSAGE_CONTROL3(IndexedDBMsg_DatabaseCallbacksChanges, | |
| 478 int32_t, /* ipc_thread_id */ | |
| 479 int32_t, /* ipc_database_id */ | |
| 480 IndexedDBMsg_ObserverChanges) | |
| 481 | |
| 482 // Indexed DB messages sent from the renderer to the browser. | |
| 483 | |
| 484 // WebIDBCursor::advance() message. | |
| 485 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorAdvance, | |
| 486 int32_t, /* ipc_cursor_id */ | |
| 487 int32_t, /* ipc_thread_id */ | |
| 488 int32_t, /* ipc_callbacks_id */ | |
| 489 uint32_t) /* count */ | |
| 490 | |
| 491 // WebIDBCursor::continue() message. | |
| 492 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_CursorContinue, | |
| 493 int32_t, /* ipc_cursor_id */ | |
| 494 int32_t, /* ipc_thread_id */ | |
| 495 int32_t, /* ipc_callbacks_id */ | |
| 496 content::IndexedDBKey, /* key */ | |
| 497 content::IndexedDBKey) /* primary_key */ | |
| 498 | |
| 499 // WebIDBCursor::prefetchContinue() message. | |
| 500 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_CursorPrefetch, | |
| 501 int32_t, /* ipc_cursor_id */ | |
| 502 int32_t, /* ipc_thread_id */ | |
| 503 int32_t, /* ipc_callbacks_id */ | |
| 504 int32_t) /* n */ | |
| 505 | |
| 506 // WebIDBCursor::prefetchReset() message. | |
| 507 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_CursorPrefetchReset, | |
| 508 int32_t, /* ipc_cursor_id */ | |
| 509 int32_t, /* used_prefetches */ | |
| 510 int32_t) /* used_prefetches */ | |
| 511 | |
| 512 // WebIDBFactory::getDatabaseNames() message. | |
| 513 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryGetDatabaseNames, | |
| 514 IndexedDBHostMsg_FactoryGetDatabaseNames_Params) | |
| 515 | |
| 516 // WebIDBFactory::open() message. | |
| 517 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen, | |
| 518 IndexedDBHostMsg_FactoryOpen_Params) | |
| 519 | |
| 520 // WebIDBFactory::deleteDatabase() message. | |
| 521 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryDeleteDatabase, | |
| 522 IndexedDBHostMsg_FactoryDeleteDatabase_Params) | |
| 523 | |
| 524 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_AckReceivedBlobs, | |
| 525 std::vector<std::string>) /* uuids */ | |
| 526 | |
| 527 // WebIDBDatabase::unobserve() message. | |
| 528 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseUnobserve, | |
| 529 int32_t, /* ipc_database_id */ | |
| 530 std::vector<int32_t>) /* list of observer_id */ | |
| 531 | |
| 532 // WebIDBDatabase::createObjectStore() message. | |
| 533 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateObjectStore, | |
| 534 IndexedDBHostMsg_DatabaseCreateObjectStore_Params) | |
| 535 | |
| 536 // WebIDBDatabase::deleteObjectStore() message. | |
| 537 IPC_MESSAGE_CONTROL3(IndexedDBHostMsg_DatabaseDeleteObjectStore, | |
| 538 int32_t, /* ipc_database_id */ | |
| 539 int64_t, /* transaction_id */ | |
| 540 int64_t) /* object_store_id */ | |
| 541 | |
| 542 // WebIDBDatabase::createTransaction() message. | |
| 543 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateTransaction, | |
| 544 IndexedDBHostMsg_DatabaseCreateTransaction_Params) | |
| 545 | |
| 546 // WebIDBDatabase::close() message. | |
| 547 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseClose, | |
| 548 int32_t /* ipc_database_id */) | |
| 549 | |
| 550 // WebIDBDatabase::versionChangeIgnored() message. | |
| 551 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseVersionChangeIgnored, | |
| 552 int32_t /* ipc_database_id */) | |
| 553 | |
| 554 // WebIDBDatabase::~WebIDBDatabase() message. | |
| 555 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed, | |
| 556 int32_t /* ipc_database_id */) | |
| 557 | |
| 558 // WebIDBDatabase::get() message. | |
| 559 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGet, | |
| 560 IndexedDBHostMsg_DatabaseGet_Params) | |
| 561 | |
| 562 // WebIDBDatabase::getAll() message. | |
| 563 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseGetAll, | |
| 564 IndexedDBHostMsg_DatabaseGetAll_Params) | |
| 565 | |
| 566 // WebIDBDatabase::observe() message. | |
| 567 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseObserve, | |
| 568 IndexedDBHostMsg_DatabaseObserve_Params) | |
| 569 | |
| 570 // WebIDBDatabase::put() message. | |
| 571 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabasePut, | |
| 572 IndexedDBHostMsg_DatabasePut_Params) | |
| 573 | |
| 574 // WebIDBDatabase::setIndexKeys() message. | |
| 575 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseSetIndexKeys, | |
| 576 IndexedDBHostMsg_DatabaseSetIndexKeys_Params) | |
| 577 | |
| 578 // WebIDBDatabase::setIndexesReady() message. | |
| 579 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseSetIndexesReady, | |
| 580 int32_t, /* ipc_database_id */ | |
| 581 int64_t, /* transaction_id */ | |
| 582 int64_t, /* object_store_id */ | |
| 583 std::vector<int64_t>) /* index_ids */ | |
| 584 | |
| 585 // WebIDBDatabase::openCursor() message. | |
| 586 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseOpenCursor, | |
| 587 IndexedDBHostMsg_DatabaseOpenCursor_Params) | |
| 588 | |
| 589 // WebIDBDatabase::count() message. | |
| 590 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCount, | |
| 591 IndexedDBHostMsg_DatabaseCount_Params) | |
| 592 | |
| 593 // WebIDBDatabase::deleteRange() message. | |
| 594 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDeleteRange, | |
| 595 IndexedDBHostMsg_DatabaseDeleteRange_Params) | |
| 596 | |
| 597 // WebIDBDatabase::clear() message. | |
| 598 IPC_MESSAGE_CONTROL5(IndexedDBHostMsg_DatabaseClear, | |
| 599 int32_t, /* ipc_thread_id */ | |
| 600 int32_t, /* ipc_callbacks_id */ | |
| 601 int32_t, /* ipc_database_id */ | |
| 602 int64_t, /* transaction_id */ | |
| 603 int64_t) /* object_store_id */ | |
| 604 | |
| 605 // WebIDBDatabase::createIndex() message. | |
| 606 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseCreateIndex, | |
| 607 IndexedDBHostMsg_DatabaseCreateIndex_Params) | |
| 608 | |
| 609 // WebIDBDatabase::deleteIndex() message. | |
| 610 IPC_MESSAGE_CONTROL4(IndexedDBHostMsg_DatabaseDeleteIndex, | |
| 611 int32_t, /* ipc_database_id */ | |
| 612 int64_t, /* transaction_id */ | |
| 613 int64_t, /* object_store_id */ | |
| 614 int64_t) /* index_id */ | |
| 615 | |
| 616 // WebIDBDatabase::abort() message. | |
| 617 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseAbort, | |
| 618 int32_t, /* ipc_database_id */ | |
| 619 int64_t) /* transaction_id */ | |
| 620 | |
| 621 // WebIDBDatabase::commit() message. | |
| 622 IPC_MESSAGE_CONTROL2(IndexedDBHostMsg_DatabaseCommit, | |
| 623 int32_t, /* ipc_database_id */ | |
| 624 int64_t) /* transaction_id */ | |
| 625 | |
| 626 // WebIDBDatabase::~WebIDBCursor() message. | |
| 627 IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed, | |
| 628 int32_t /* ipc_cursor_id */) | |
| OLD | NEW |