summaryrefslogtreecommitdiffstats
path: root/chrome/common/indexed_db_messages.h
diff options
context:
space:
mode:
authorKristian Monsen <kristianm@google.com>2011-05-11 20:53:37 +0100
committerKristian Monsen <kristianm@google.com>2011-05-16 13:54:48 +0100
commit21d179b334e59e9a3bfcaed4c4430bef1bc5759d (patch)
tree64e2bb6da27af6a5c93ca34f6051584aafbfcb9e /chrome/common/indexed_db_messages.h
parent0c63f00edd6ed0482fd5cbcea937ca088baf7858 (diff)
downloadexternal_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.h493
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_