| Index: chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
|
| diff --git a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
|
| index a5b1920bea796fc6305bb4c10f0777adf6095c9f..94be909b4b68caff166202c32d89c2e6c4b3e9db 100644
|
| --- a/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
|
| +++ b/chrome/browser/in_process_webkit/indexed_db_dispatcher_host.h
|
| @@ -13,10 +13,12 @@
|
| #include "ipc/ipc_message.h"
|
|
|
| struct ViewHostMsg_IndexedDatabaseOpen_Params;
|
| +struct ViewHostMsg_IDBDatabaseCreateObjectStore_Params;
|
|
|
| namespace WebKit {
|
| class WebIDBDatabase;
|
| class WebIDBIndex;
|
| +class WebIDBObjectStore;
|
| }
|
|
|
| // Handles all IndexedDB related messages from a particular renderer process.
|
| @@ -48,8 +50,8 @@ class IndexedDBDispatcherHost
|
|
|
| // The various IndexedDBCallbacks children call these methods to add the
|
| // results into the applicable map. See below for more details.
|
| - int32 AddIDBDatabase(WebKit::WebIDBDatabase* idb_database);
|
| - // TODO(andreip/jorlow): Add functions for other maps here.
|
| + int32 Add(WebKit::WebIDBDatabase* idb_database);
|
| + int32 Add(WebKit::WebIDBObjectStore* idb_object_store);
|
|
|
| private:
|
| friend class base::RefCountedThreadSafe<IndexedDBDispatcherHost>;
|
| @@ -77,7 +79,7 @@ class IndexedDBDispatcherHost
|
|
|
| class DatabaseDispatcherHost {
|
| public:
|
| - DatabaseDispatcherHost(IndexedDBDispatcherHost* parent);
|
| + explicit DatabaseDispatcherHost(IndexedDBDispatcherHost* parent);
|
| ~DatabaseDispatcherHost();
|
|
|
| bool OnMessageReceived(const IPC::Message& message, bool *msg_is_ok);
|
| @@ -87,6 +89,9 @@ class IndexedDBDispatcherHost
|
| void OnDescription(int32 idb_database_id, IPC::Message* reply_msg);
|
| void OnVersion(int32 idb_database_id, IPC::Message* reply_msg);
|
| void OnObjectStores(int32 idb_database_id, IPC::Message* reply_msg);
|
| + void OnCreateObjectStore(
|
| + const ViewHostMsg_IDBDatabaseCreateObjectStore_Params& params);
|
| +
|
| void OnDestroyed(int32 idb_database_id);
|
|
|
| IndexedDBDispatcherHost* parent_;
|
| @@ -95,7 +100,7 @@ class IndexedDBDispatcherHost
|
|
|
| class IndexDispatcherHost {
|
| public:
|
| - IndexDispatcherHost(IndexedDBDispatcherHost* parent);
|
| + explicit IndexDispatcherHost(IndexedDBDispatcherHost* parent);
|
| ~IndexDispatcherHost();
|
|
|
| bool OnMessageReceived(const IPC::Message& message, bool *msg_is_ok);
|
| @@ -110,6 +115,21 @@ class IndexedDBDispatcherHost
|
| IDMap<WebKit::WebIDBIndex, IDMapOwnPointer> map_;
|
| };
|
|
|
| + class ObjectStoreDispatcherHost {
|
| + public:
|
| + explicit ObjectStoreDispatcherHost(IndexedDBDispatcherHost* parent);
|
| + ~ObjectStoreDispatcherHost();
|
| +
|
| + bool OnMessageReceived(const IPC::Message& message, bool *msg_is_ok);
|
| + void Send(IPC::Message* message);
|
| +
|
| + void OnName(int32 idb_object_store_id, IPC::Message* reply_msg);
|
| + void OnKeyPath(int32 idb_object_store_id, IPC::Message* reply_msg);
|
| + void OnDestroyed(int32 idb_object_store_id);
|
| +
|
| + IndexedDBDispatcherHost* parent_;
|
| + IDMap<WebKit::WebIDBObjectStore, IDMapOwnPointer> map_;
|
| + };
|
| // Only use on the IO thread.
|
| IPC::Message::Sender* sender_;
|
|
|
| @@ -119,6 +139,7 @@ class IndexedDBDispatcherHost
|
| // Only access on WebKit thread.
|
| scoped_ptr<DatabaseDispatcherHost> database_dispatcher_host_;
|
| scoped_ptr<IndexDispatcherHost> index_dispatcher_host_;
|
| + scoped_ptr<ObjectStoreDispatcherHost> object_store_dispatcher_host_;
|
|
|
| // If we get a corrupt message from a renderer, we need to kill it using this
|
| // handle.
|
|
|