diff options
author | Kristian Monsen <kristianm@google.com> | 2011-05-11 20:53:37 +0100 |
---|---|---|
committer | Kristian Monsen <kristianm@google.com> | 2011-05-16 13:54:48 +0100 |
commit | 21d179b334e59e9a3bfcaed4c4430bef1bc5759d (patch) | |
tree | 64e2bb6da27af6a5c93ca34f6051584aafbfcb9e /chrome/common/indexed_db_messages.h | |
parent | 0c63f00edd6ed0482fd5cbcea937ca088baf7858 (diff) | |
download | external_chromium-21d179b334e59e9a3bfcaed4c4430bef1bc5759d.zip external_chromium-21d179b334e59e9a3bfcaed4c4430bef1bc5759d.tar.gz external_chromium-21d179b334e59e9a3bfcaed4c4430bef1bc5759d.tar.bz2 |
Merge Chromium at 10.0.621.0: Initial merge by git.
Change-Id: I070cc91c608dfa4a968a5a54c173260765ac8097
Diffstat (limited to 'chrome/common/indexed_db_messages.h')
-rw-r--r-- | chrome/common/indexed_db_messages.h | 493 |
1 files changed, 493 insertions, 0 deletions
diff --git a/chrome/common/indexed_db_messages.h b/chrome/common/indexed_db_messages.h new file mode 100644 index 0000000..8eb77eb --- /dev/null +++ b/chrome/common/indexed_db_messages.h @@ -0,0 +1,493 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_COMMON_INDEXED_DB_MESSAGES_H_ +#define CHROME_COMMON_INDEXED_DB_MESSAGES_H_ +#pragma once + +#include "chrome/common/indexed_db_key.h" +#include "chrome/common/indexed_db_param_traits.h" +#include "chrome/common/serialized_script_value.h" +#include "ipc/ipc_message_macros.h" +#include "ipc/ipc_param_traits.h" +#include "third_party/WebKit/WebKit/chromium/public/WebExceptionCode.h" + +#define IPC_MESSAGE_START IndexedDBMsgStart + +// Used to open an indexed database. +struct IndexedDBHostMsg_FactoryOpen_Params { + IndexedDBHostMsg_FactoryOpen_Params(); + ~IndexedDBHostMsg_FactoryOpen_Params(); + + // The routing ID of the view initiating the open. + int32 routing_id; + + // The response should have this id. + int32 response_id; + + // The origin doing the initiating. + string16 origin; + + // The name of the database. + string16 name; + + // The maximum size of the database. + uint64 maximum_size; +}; + +// Used to create an object store. +struct IndexedDBHostMsg_DatabaseCreateObjectStore_Params { + IndexedDBHostMsg_DatabaseCreateObjectStore_Params(); + ~IndexedDBHostMsg_DatabaseCreateObjectStore_Params(); + + // The name of the object store. + string16 name; + + // The keyPath of the object store. + NullableString16 key_path; + + // Whether the object store created should have a key generator. + bool auto_increment; + + // The transaction this is associated with. + int32 transaction_id; + + // The database the object store belongs to. + int32 idb_database_id; +}; + +// Used to open both cursors and object cursors in IndexedDB. +struct IndexedDBHostMsg_IndexOpenCursor_Params { + IndexedDBHostMsg_IndexOpenCursor_Params(); + ~IndexedDBHostMsg_IndexOpenCursor_Params(); + + // The response should have this id. + int32 response_id; + + // The serialized lower key. + IndexedDBKey lower_key; + + // The serialized upper key. + IndexedDBKey upper_key; + + // Is the lower bound open? + bool lower_open; + + // Is the upper bound open? + bool upper_open; + + // The direction of this cursor. + int32 direction; + + // The index the index belongs to. + int32 idb_index_id; + + // The transaction this request belongs to. + int transaction_id; +}; + +// Used to set a value in an object store. +struct IndexedDBHostMsg_ObjectStorePut_Params { + IndexedDBHostMsg_ObjectStorePut_Params(); + ~IndexedDBHostMsg_ObjectStorePut_Params(); + + // The object store's id. + int32 idb_object_store_id; + + // The id any response should contain. + int32 response_id; + + // The value to set. + SerializedScriptValue serialized_value; + + // The key to set it on (may not be "valid"/set in some cases). + IndexedDBKey key; + + // If it already exists, don't update (just return an error). + bool add_only; + + // The transaction it's associated with. + int transaction_id; +}; + +// Used to create an index. +struct IndexedDBHostMsg_ObjectStoreCreateIndex_Params { + IndexedDBHostMsg_ObjectStoreCreateIndex_Params(); + ~IndexedDBHostMsg_ObjectStoreCreateIndex_Params(); + + // The name of the index. + string16 name; + + // The keyPath of the index. + NullableString16 key_path; + + // Whether the index created has unique keys. + bool unique; + + // The transaction this is associated with. + int32 transaction_id; + + // The object store the index belongs to. + int32 idb_object_store_id; +}; + +// Used to open an IndexedDB cursor. +struct IndexedDBHostMsg_ObjectStoreOpenCursor_Params { + IndexedDBHostMsg_ObjectStoreOpenCursor_Params(); + ~IndexedDBHostMsg_ObjectStoreOpenCursor_Params(); + + // The response should have this id. + int32 response_id; + + // The serialized lower key. + IndexedDBKey lower_key; + + // The serialized upper key. + IndexedDBKey upper_key; + + // Is the lower bound open? + bool lower_open; + + // Is the upper bound open? + bool upper_open; + + // The direction of this cursor. + int32 direction; + + // The object store the cursor belongs to. + int32 idb_object_store_id; + + // The transaction this request belongs to. + int transaction_id; +}; + +namespace IPC { +template <> +struct ParamTraits<IndexedDBHostMsg_FactoryOpen_Params> { + typedef IndexedDBHostMsg_FactoryOpen_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +template <> +struct ParamTraits<IndexedDBHostMsg_DatabaseCreateObjectStore_Params> { + typedef IndexedDBHostMsg_DatabaseCreateObjectStore_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +template <> +struct ParamTraits<IndexedDBHostMsg_IndexOpenCursor_Params> { + typedef IndexedDBHostMsg_IndexOpenCursor_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +template <> +struct ParamTraits<IndexedDBHostMsg_ObjectStorePut_Params> { + typedef IndexedDBHostMsg_ObjectStorePut_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +template <> +struct ParamTraits<IndexedDBHostMsg_ObjectStoreCreateIndex_Params> { + typedef IndexedDBHostMsg_ObjectStoreCreateIndex_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +template <> +struct ParamTraits<IndexedDBHostMsg_ObjectStoreOpenCursor_Params> { + typedef IndexedDBHostMsg_ObjectStoreOpenCursor_Params param_type; + static void Write(Message* m, const param_type& p); + static bool Read(const Message* m, void** iter, param_type* p); + static void Log(const param_type& p, std::string* l); +}; + +} // namespace IPC + +// Indexed DB messages sent from the browser to the renderer. + +// IDBCallback message handlers. +IPC_MESSAGE_CONTROL1(IndexedDBMsg_CallbacksSuccessNull, + int32 /* response_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIDBCursor, + int32 /* response_id */, + int32 /* cursor_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIDBDatabase, + int32 /* response_id */, + int32 /* idb_database_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIndexedDBKey, + int32 /* response_id */, + IndexedDBKey /* indexed_db_key */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIDBIndex, + int32 /* response_id */, + int32 /* idb_index_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIDBObjectStore, + int32 /* response_id */, + int32 /* idb_object_store_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessIDBTransaction, + int32 /* response_id */, + int32 /* idb_transaction_id */) +IPC_MESSAGE_CONTROL2(IndexedDBMsg_CallbacksSuccessSerializedScriptValue, + int32 /* response_id */, + SerializedScriptValue /* serialized_script_value */) +IPC_MESSAGE_CONTROL3(IndexedDBMsg_CallbacksError, + int32 /* response_id */, + int /* code */, + string16 /* message */) + +// IDBTransactionCallback message handlers. +IPC_MESSAGE_CONTROL1(IndexedDBMsg_TransactionCallbacksAbort, + int32 /* transaction_id */) +IPC_MESSAGE_CONTROL1(IndexedDBMsg_TransactionCallbacksComplete, + int32 /* transaction_id */) +IPC_MESSAGE_CONTROL1(IndexedDBMsg_TransactionCallbacksTimeout, + int32 /* transaction_id */) + + +// Indexed DB messages sent from the renderer to the browser. + +// WebIDBCursor::direction() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_CursorDirection, + int32, /* idb_cursor_id */ + int32 /* direction */) + +// WebIDBCursor::key() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_CursorKey, + int32, /* idb_cursor_id */ + IndexedDBKey /* key */) + +// WebIDBCursor::value() message. +IPC_SYNC_MESSAGE_CONTROL1_2(IndexedDBHostMsg_CursorValue, + int32, /* idb_cursor_id */ + SerializedScriptValue, /* script_value */ + IndexedDBKey /* key */) + +// WebIDBCursor::update() message. +IPC_SYNC_MESSAGE_CONTROL3_1(IndexedDBHostMsg_CursorUpdate, + int32, /* idb_cursor_id */ + int32, /* response_id */ + SerializedScriptValue, /* value */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBCursor::continue() message. +IPC_SYNC_MESSAGE_CONTROL3_1(IndexedDBHostMsg_CursorContinue, + int32, /* idb_cursor_id */ + int32, /* response_id */ + IndexedDBKey, /* key */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBCursor::remove() message. +IPC_SYNC_MESSAGE_CONTROL2_1(IndexedDBHostMsg_CursorDelete, + int32, /* idb_cursor_id */ + int32, /* response_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBFactory::open() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_FactoryOpen, + IndexedDBHostMsg_FactoryOpen_Params) + +// WebIDBDatabase::name() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_DatabaseName, + int32, /* idb_database_id */ + string16 /* name */) + +// WebIDBDatabase::version() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_DatabaseVersion, + int32, /* idb_database_id */ + string16 /* version */) + +// WebIDBDatabase::objectStoreNames() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_DatabaseObjectStoreNames, + int32, /* idb_database_id */ + std::vector<string16> /* objectStoreNames */) + +// WebIDBDatabase::createObjectStore() message. +IPC_SYNC_MESSAGE_CONTROL1_2(IndexedDBHostMsg_DatabaseCreateObjectStore, + IndexedDBHostMsg_DatabaseCreateObjectStore_Params, + int32, /* object_store_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBDatabase::removeObjectStore() message. +IPC_SYNC_MESSAGE_CONTROL3_1(IndexedDBHostMsg_DatabaseDeleteObjectStore, + int32, /* idb_database_id */ + string16, /* name */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBDatabase::setVersion() message. +IPC_SYNC_MESSAGE_CONTROL3_1(IndexedDBHostMsg_DatabaseSetVersion, + int32, /* idb_database_id */ + int32, /* response_id */ + string16, /* version */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBDatabase::transaction() message. +// TODO: make this message async. Have the renderer create a +// temporary ID and keep a map in the browser process of real +// IDs to temporary IDs. We can then update the transaction +// to its real ID asynchronously. +IPC_SYNC_MESSAGE_CONTROL4_2(IndexedDBHostMsg_DatabaseTransaction, + int32, /* idb_database_id */ + std::vector<string16>, /* object_stores */ + int32, /* mode */ + int32, /* timeout */ + int32, /* idb_transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBDatabase::~WebIDBDatabase() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_DatabaseDestroyed, + int32 /* idb_database_id */) + +// WebIDBIndex::name() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexName, + int32, /* idb_index_id */ + string16 /* name */) + +// WebIDBIndex::storeName() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexStoreName, + int32, /* idb_index_id */ + string16 /* store_name */) + +// WebIDBIndex::keyPath() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexKeyPath, + int32, /* idb_index_id */ + NullableString16 /* key_path */) + +// WebIDBIndex::unique() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexUnique, + int32, /* idb_unique_id */ + bool /* unique */) + +// WebIDBIndex::openObjectCursor() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexOpenObjectCursor, + IndexedDBHostMsg_IndexOpenCursor_Params, + WebKit::WebExceptionCode /* ec */) + +// WebIDBIndex::openKeyCursor() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_IndexOpenKeyCursor, + IndexedDBHostMsg_IndexOpenCursor_Params, + WebKit::WebExceptionCode /* ec */) + +// WebIDBIndex::getObject() message. +IPC_SYNC_MESSAGE_CONTROL4_1(IndexedDBHostMsg_IndexGetObject, + int32, /* idb_index_id */ + int32, /* response_id */ + IndexedDBKey, /* key */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBIndex::getKey() message. +IPC_SYNC_MESSAGE_CONTROL4_1(IndexedDBHostMsg_IndexGetKey, + int32, /* idb_index_id */ + int32, /* response_id */ + IndexedDBKey, /* key */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBIndex::~WebIDBIndex() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_IndexDestroyed, + int32 /* idb_index_id */) + +// WebIDBObjectStore::name() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_ObjectStoreName, + int32, /* idb_object_store_id */ + string16 /* name */) + +// WebIDBObjectStore::keyPath() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_ObjectStoreKeyPath, + int32, /* idb_object_store_id */ + NullableString16 /* keyPath */) + +// WebIDBObjectStore::indexNames() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_ObjectStoreIndexNames, + int32, /* idb_object_store_id */ + std::vector<string16> /* index_names */) + +// WebIDBObjectStore::get() message. +IPC_SYNC_MESSAGE_CONTROL4_1(IndexedDBHostMsg_ObjectStoreGet, + int32, /* idb_object_store_id */ + int32, /* response_id */ + IndexedDBKey, /* key */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::put() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_ObjectStorePut, + IndexedDBHostMsg_ObjectStorePut_Params, + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::delete() message. +IPC_SYNC_MESSAGE_CONTROL4_1(IndexedDBHostMsg_ObjectStoreDelete, + int32, /* idb_object_store_id */ + int32, /* response_id */ + IndexedDBKey, /* key */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::createIndex() message. +IPC_SYNC_MESSAGE_CONTROL1_2(IndexedDBHostMsg_ObjectStoreCreateIndex, + IndexedDBHostMsg_ObjectStoreCreateIndex_Params, + int32, /* index_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::index() message. +IPC_SYNC_MESSAGE_CONTROL2_2(IndexedDBHostMsg_ObjectStoreIndex, + int32, /* idb_object_store_id */ + string16, /* name */ + int32, /* idb_index_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::deleteIndex() message. +IPC_SYNC_MESSAGE_CONTROL3_1(IndexedDBHostMsg_ObjectStoreDeleteIndex, + int32, /* idb_object_store_id */ + string16, /* name */ + int32, /* transaction_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::openCursor() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_ObjectStoreOpenCursor, + IndexedDBHostMsg_ObjectStoreOpenCursor_Params, + WebKit::WebExceptionCode /* ec */) + +// WebIDBObjectStore::~WebIDBObjectStore() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_ObjectStoreDestroyed, + int32 /* idb_object_store_id */) + +// WebIDBDatabase::~WebIDBCursor() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_CursorDestroyed, + int32 /* idb_cursor_id */) + +// IDBTransaction::ObjectStore message. +IPC_SYNC_MESSAGE_CONTROL2_2(IndexedDBHostMsg_TransactionObjectStore, + int32, /* transaction_id */ + string16, /* name */ + int32, /* object_store_id */ + WebKit::WebExceptionCode /* ec */) + +// WebIDBTransaction::mode() message. +IPC_SYNC_MESSAGE_CONTROL1_1(IndexedDBHostMsg_TransactionMode, + int32, /* idb_transaction_id */ + int /* mode */) + +// WebIDBTransaction::abort() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_TransactionAbort, + int32 /* idb_transaction_id */) + +// IDBTransaction::DidCompleteTaskEvents() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_TransactionDidCompleteTaskEvents, + int32 /* idb_transaction_id */) + +// WebIDBTransaction::~WebIDBTransaction() message. +IPC_MESSAGE_CONTROL1(IndexedDBHostMsg_TransactionDestroyed, + int32 /* idb_transaction_id */) + +#endif // CHROME_COMMON_INDEXED_DB_MESSAGES_H_ |