summaryrefslogtreecommitdiffstats
path: root/content/browser/in_process_webkit
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/in_process_webkit')
-rw-r--r--content/browser/in_process_webkit/indexed_db_database_callbacks.cc44
-rw-r--r--content/browser/in_process_webkit/indexed_db_dispatcher_host.cc461
-rw-r--r--content/browser/in_process_webkit/indexed_db_dispatcher_host.h28
3 files changed, 270 insertions, 263 deletions
diff --git a/content/browser/in_process_webkit/indexed_db_database_callbacks.cc b/content/browser/in_process_webkit/indexed_db_database_callbacks.cc
index a57193d..9a7cc10 100644
--- a/content/browser/in_process_webkit/indexed_db_database_callbacks.cc
+++ b/content/browser/in_process_webkit/indexed_db_database_callbacks.cc
@@ -4,7 +4,6 @@
#include "content/browser/in_process_webkit/indexed_db_database_callbacks.h"
-#include "base/memory/scoped_vector.h"
#include "content/browser/in_process_webkit/indexed_db_dispatcher_host.h"
#include "content/common/indexed_db/indexed_db_messages.h"
@@ -16,39 +15,46 @@ IndexedDBDatabaseCallbacks::IndexedDBDatabaseCallbacks(
int ipc_database_callbacks_id)
: dispatcher_host_(dispatcher_host),
ipc_thread_id_(ipc_thread_id),
- ipc_database_callbacks_id_(ipc_database_callbacks_id) {}
+ ipc_database_callbacks_id_(ipc_database_callbacks_id) {
+}
-IndexedDBDatabaseCallbacks::~IndexedDBDatabaseCallbacks() {}
+IndexedDBDatabaseCallbacks::~IndexedDBDatabaseCallbacks() {
+}
void IndexedDBDatabaseCallbacks::onForcedClose() {
- dispatcher_host_->Send(new IndexedDBMsg_DatabaseCallbacksForcedClose(
- ipc_thread_id_, ipc_database_callbacks_id_));
+ dispatcher_host_->Send(
+ new IndexedDBMsg_DatabaseCallbacksForcedClose(
+ ipc_thread_id_,
+ ipc_database_callbacks_id_));
}
void IndexedDBDatabaseCallbacks::onVersionChange(long long old_version,
long long new_version) {
- dispatcher_host_->Send(new IndexedDBMsg_DatabaseCallbacksIntVersionChange(
- ipc_thread_id_, ipc_database_callbacks_id_, old_version, new_version));
+ dispatcher_host_->Send(
+ new IndexedDBMsg_DatabaseCallbacksIntVersionChange(
+ ipc_thread_id_,
+ ipc_database_callbacks_id_,
+ old_version,
+ new_version));
}
void IndexedDBDatabaseCallbacks::onAbort(
long long host_transaction_id,
const WebKit::WebIDBDatabaseError& error) {
- dispatcher_host_->FinishTransaction(host_transaction_id, false);
- dispatcher_host_->Send(new IndexedDBMsg_DatabaseCallbacksAbort(
- ipc_thread_id_,
- ipc_database_callbacks_id_,
- dispatcher_host_->RendererTransactionId(host_transaction_id),
- error.code(),
- error.message()));
+ dispatcher_host_->FinishTransaction(host_transaction_id, false);
+ dispatcher_host_->Send(
+ new IndexedDBMsg_DatabaseCallbacksAbort(
+ ipc_thread_id_, ipc_database_callbacks_id_,
+ dispatcher_host_->RendererTransactionId(host_transaction_id),
+ error.code(), error.message()));
}
void IndexedDBDatabaseCallbacks::onComplete(long long host_transaction_id) {
- dispatcher_host_->FinishTransaction(host_transaction_id, true);
- dispatcher_host_->Send(new IndexedDBMsg_DatabaseCallbacksComplete(
- ipc_thread_id_,
- ipc_database_callbacks_id_,
- dispatcher_host_->RendererTransactionId(host_transaction_id)));
+ dispatcher_host_->FinishTransaction(host_transaction_id, true);
+ dispatcher_host_->Send(
+ new IndexedDBMsg_DatabaseCallbacksComplete(
+ ipc_thread_id_, ipc_database_callbacks_id_,
+ dispatcher_host_->RendererTransactionId(host_transaction_id)));
}
} // namespace content
diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
index 6d640c5..8532d21 100644
--- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
+++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.cc
@@ -41,24 +41,26 @@ using WebKit::WebIDBCallbacks;
using WebKit::WebIDBCursor;
using WebKit::WebIDBDatabase;
using WebKit::WebIDBDatabaseError;
+using WebKit::WebIDBIndex;
using WebKit::WebIDBKey;
using WebKit::WebIDBMetadata;
+using WebKit::WebIDBObjectStore;
using WebKit::WebString;
using WebKit::WebVector;
namespace content {
namespace {
-template <class T> void DeleteOnWebKitThread(T* obj) {
- if (!BrowserThread::DeleteSoon(
- BrowserThread::WEBKIT_DEPRECATED, FROM_HERE, obj))
+template <class T>
+void DeleteOnWebKitThread(T* obj) {
+ if (!BrowserThread::DeleteSoon(BrowserThread::WEBKIT_DEPRECATED,
+ FROM_HERE, obj))
delete obj;
}
}
IndexedDBDispatcherHost::IndexedDBDispatcherHost(
- int ipc_process_id,
- IndexedDBContextImpl* indexed_db_context)
+ int ipc_process_id, IndexedDBContextImpl* indexed_db_context)
: indexed_db_context_(indexed_db_context),
database_dispatcher_host_(new DatabaseDispatcherHost(this)),
cursor_dispatcher_host_(new CursorDispatcherHost(this)),
@@ -66,14 +68,14 @@ IndexedDBDispatcherHost::IndexedDBDispatcherHost(
DCHECK(indexed_db_context_.get());
}
-IndexedDBDispatcherHost::~IndexedDBDispatcherHost() {}
+IndexedDBDispatcherHost::~IndexedDBDispatcherHost() {
+}
void IndexedDBDispatcherHost::OnChannelClosing() {
BrowserMessageFilter::OnChannelClosing();
bool success = BrowserThread::PostTask(
- BrowserThread::WEBKIT_DEPRECATED,
- FROM_HERE,
+ BrowserThread::WEBKIT_DEPRECATED, FROM_HERE,
base::Bind(&IndexedDBDispatcherHost::ResetDispatcherHosts, this));
if (!success)
@@ -117,12 +119,12 @@ bool IndexedDBDispatcherHost::OnMessageReceived(const IPC::Message& message,
if (!handled) {
handled = true;
IPC_BEGIN_MESSAGE_MAP_EX(IndexedDBDispatcherHost, message, *message_was_ok)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryGetDatabaseNames,
- OnIDBFactoryGetDatabaseNames)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryOpen, OnIDBFactoryOpen)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryDeleteDatabase,
- OnIDBFactoryDeleteDatabase)
- IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryGetDatabaseNames,
+ OnIDBFactoryGetDatabaseNames)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryOpen, OnIDBFactoryOpen)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_FactoryDeleteDatabase,
+ OnIDBFactoryDeleteDatabase)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
}
return handled;
@@ -149,8 +151,10 @@ int32 IndexedDBDispatcherHost::Add(WebIDBDatabase* idb_database,
return ipc_database_id;
}
-void IndexedDBDispatcherHost::RegisterTransactionId(int64 host_transaction_id,
- const GURL& url) {
+void IndexedDBDispatcherHost::RegisterTransactionId(
+ int64 host_transaction_id,
+ const GURL& url)
+{
if (!database_dispatcher_host_)
return;
database_dispatcher_host_->transaction_url_map_[host_transaction_id] = url;
@@ -171,8 +175,8 @@ int64 IndexedDBDispatcherHost::HostTransactionId(int64 transaction_id) {
int64 IndexedDBDispatcherHost::RendererTransactionId(
int64 host_transaction_id) {
- DCHECK(host_transaction_id >> 32 == base::GetProcId(peer_handle()))
- << "Invalid renderer target for transaction id";
+ DCHECK(host_transaction_id >> 32 == base::GetProcId(peer_handle())) <<
+ "Invalid renderer target for transaction id";
return host_transaction_id & 0xffffffff;
}
@@ -182,7 +186,8 @@ WebIDBCursor* IndexedDBDispatcherHost::GetCursorFromId(int32 ipc_cursor_id) {
}
IndexedDBDatabaseMetadata IndexedDBDispatcherHost::ConvertMetadata(
- const WebIDBMetadata& web_metadata) {
+ const WebIDBMetadata& web_metadata)
+{
IndexedDBDatabaseMetadata metadata;
metadata.id = web_metadata.id;
metadata.name = web_metadata.name;
@@ -222,9 +227,8 @@ void IndexedDBDispatcherHost::OnIDBFactoryGetDatabaseNames(
base::FilePath indexed_db_path = indexed_db_context_->data_path();
Context()->GetIDBFactory()->getDatabaseNames(
- new IndexedDBCallbacks<WebVector<WebString> >(
- this, params.ipc_thread_id, params.ipc_callbacks_id),
- params.database_identifier,
+ new IndexedDBCallbacks<WebVector<WebString> >(this, params.ipc_thread_id,
+ params.ipc_callbacks_id), params.database_identifier,
webkit_base::FilePathToWebString(indexed_db_path));
}
@@ -242,20 +246,19 @@ void IndexedDBDispatcherHost::OnIDBFactoryOpen(
// TODO(dgrogan): Don't let a non-existing database be opened (and therefore
// created) if this origin is already over quota.
- Context()->GetIDBFactory()
- ->open(params.name,
- params.version,
- host_transaction_id,
- new IndexedDBCallbacksDatabase(this,
- params.ipc_thread_id,
- params.ipc_callbacks_id,
- params.ipc_database_callbacks_id,
- host_transaction_id,
- origin_url),
- new IndexedDBDatabaseCallbacks(
- this, params.ipc_thread_id, params.ipc_database_callbacks_id),
- params.database_identifier,
- webkit_base::FilePathToWebString(indexed_db_path));
+ Context()->GetIDBFactory()->open(
+ params.name,
+ params.version,
+ host_transaction_id,
+ new IndexedDBCallbacksDatabase(this, params.ipc_thread_id,
+ params.ipc_callbacks_id,
+ params.ipc_database_callbacks_id,
+ host_transaction_id,
+ origin_url),
+ new IndexedDBDatabaseCallbacks(this, params.ipc_thread_id,
+ params.ipc_database_callbacks_id),
+ params.database_identifier,
+ webkit_base::FilePathToWebString(indexed_db_path));
}
void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
@@ -263,22 +266,23 @@ void IndexedDBDispatcherHost::OnIDBFactoryDeleteDatabase(
base::FilePath indexed_db_path = indexed_db_context_->data_path();
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- Context()->GetIDBFactory()
- ->deleteDatabase(params.name,
- new IndexedDBCallbacks<WebData>(
- this, params.ipc_thread_id, params.ipc_callbacks_id),
- params.database_identifier,
- webkit_base::FilePathToWebString(indexed_db_path));
+ Context()->GetIDBFactory()->deleteDatabase(
+ params.name,
+ new IndexedDBCallbacks<WebData>(this,
+ params.ipc_thread_id,
+ params.ipc_callbacks_id),
+ params.database_identifier,
+ webkit_base::FilePathToWebString(indexed_db_path));
}
-void IndexedDBDispatcherHost::FinishTransaction(int64 host_transaction_id,
- bool committed) {
+void IndexedDBDispatcherHost::FinishTransaction(
+ int64 host_transaction_id, bool committed) {
TransactionIDToURLMap& transaction_url_map =
- database_dispatcher_host_->transaction_url_map_;
+ database_dispatcher_host_->transaction_url_map_;
TransactionIDToSizeMap& transaction_size_map =
- database_dispatcher_host_->transaction_size_map_;
+ database_dispatcher_host_->transaction_size_map_;
TransactionIDToDatabaseIDMap& transaction_database_map =
- database_dispatcher_host_->transaction_database_map_;
+ database_dispatcher_host_->transaction_database_map_;
if (committed)
Context()->TransactionComplete(transaction_url_map[host_transaction_id]);
// It's unclear if std::map::erase(key) has defined behavior if the
@@ -301,8 +305,7 @@ void IndexedDBDispatcherHost::FinishTransaction(int64 host_transaction_id,
template <typename ObjectType>
ObjectType* IndexedDBDispatcherHost::GetOrTerminateProcess(
- IDMap<ObjectType, IDMapOwnPointer>* map,
- int32 ipc_return_object_id) {
+ IDMap<ObjectType, IDMapOwnPointer>* map, int32 ipc_return_object_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
ObjectType* return_object = map->Lookup(ipc_return_object_id);
if (!return_object) {
@@ -316,12 +319,12 @@ ObjectType* IndexedDBDispatcherHost::GetOrTerminateProcess(
template <typename ObjectType>
void IndexedDBDispatcherHost::DestroyObject(
- IDMap<ObjectType, IDMapOwnPointer>* map,
- int32 ipc_object_id) {
+ IDMap<ObjectType, IDMapOwnPointer>* map, int32 ipc_object_id) {
GetOrTerminateProcess(map, ipc_object_id);
map->Remove(ipc_object_id);
}
+
//////////////////////////////////////////////////////////////////////
// IndexedDBDispatcherHost::DatabaseDispatcherHost
//
@@ -350,16 +353,14 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::CloseAll() {
++iter;
WebIDBDatabase* database = map_.Lookup(ipc_database_id);
if (database) {
- database->abort(
- transaction_id,
- WebIDBDatabaseError(WebKit::WebIDBDatabaseExceptionUnknownError));
+ database->abort(transaction_id, WebIDBDatabaseError(
+ WebKit::WebIDBDatabaseExceptionUnknownError));
}
}
DCHECK(transaction_database_map_.empty());
for (WebIDBObjectIDToURLMap::iterator iter = database_url_map_.begin();
- iter != database_url_map_.end();
- iter++) {
+ iter != database_url_map_.end(); iter++) {
WebIDBDatabase* database = map_.Lookup(iter->first);
if (database) {
database->close();
@@ -369,33 +370,37 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::CloseAll() {
}
bool IndexedDBDispatcherHost::DatabaseDispatcherHost::OnMessageReceived(
- const IPC::Message& message,
- bool* msg_is_ok) {
+ const IPC::Message& message, bool* msg_is_ok) {
bool handled = true;
- IPC_BEGIN_MESSAGE_MAP_EX(
- IndexedDBDispatcherHost::DatabaseDispatcherHost, message, *msg_is_ok)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateObjectStore,
- OnCreateObjectStore)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteObjectStore,
- OnDeleteObjectStore)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateTransaction,
- OnCreateTransaction)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClose, OnClose)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDestroyed, OnDestroyed)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGet, OnGet)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabasePut, OnPut)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexKeys, OnSetIndexKeys)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexesReady,
- OnSetIndexesReady)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseOpenCursor, OnOpenCursor)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCount, OnCount)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteRange, OnDeleteRange)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClear, OnClear)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateIndex, OnCreateIndex)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteIndex, OnDeleteIndex)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseAbort, OnAbort)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCommit, OnCommit)
- IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_BEGIN_MESSAGE_MAP_EX(IndexedDBDispatcherHost::DatabaseDispatcherHost,
+ message, *msg_is_ok)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateObjectStore,
+ OnCreateObjectStore)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteObjectStore,
+ OnDeleteObjectStore)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateTransaction,
+ OnCreateTransaction)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClose, OnClose)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDestroyed, OnDestroyed)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseGet, OnGet)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabasePut, OnPut)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexKeys,
+ OnSetIndexKeys)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseSetIndexesReady,
+ OnSetIndexesReady)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseOpenCursor, OnOpenCursor)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCount, OnCount)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteRange, OnDeleteRange)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseClear, OnClear)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCreateIndex,
+ OnCreateIndex)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseDeleteIndex,
+ OnDeleteIndex)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseAbort,
+ OnAbort)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_DatabaseCommit,
+ OnCommit)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
@@ -408,22 +413,20 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::Send(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateObjectStore(
const IndexedDBHostMsg_DatabaseCreateObjectStore_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
int64 host_transaction_id = parent_->HostTransactionId(params.transaction_id);
- database->createObjectStore(host_transaction_id,
- params.object_store_id,
- params.name,
- params.key_path,
- params.auto_increment);
+ database->createObjectStore(
+ host_transaction_id,
+ params.object_store_id,
+ params.name, params.key_path, params.auto_increment);
if (parent_->Context()->IsOverQuota(
- database_url_map_[params.ipc_database_id])) {
- database->abort(
- host_transaction_id,
- WebIDBDatabaseError(WebKit::WebIDBDatabaseExceptionQuotaError));
+ database_url_map_[params.ipc_database_id])) {
+ database->abort(host_transaction_id, WebIDBDatabaseError(
+ WebKit::WebIDBDatabaseExceptionQuotaError));
}
}
@@ -432,8 +435,8 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteObjectStore(
int64 transaction_id,
int64 object_store_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
@@ -443,23 +446,22 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteObjectStore(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateTransaction(
const IndexedDBHostMsg_DatabaseCreateTransaction_Params& params) {
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
- return;
+ return;
WebVector<long long> object_stores(params.object_store_ids.size());
for (size_t i = 0; i < params.object_store_ids.size(); ++i)
- object_stores[i] = params.object_store_ids[i];
+ object_stores[i] = params.object_store_ids[i];
int64 host_transaction_id = parent_->HostTransactionId(params.transaction_id);
database->createTransaction(
host_transaction_id,
- new IndexedDBDatabaseCallbacks(
- parent_, params.ipc_thread_id, params.ipc_database_callbacks_id),
- object_stores,
- params.mode);
+ new IndexedDBDatabaseCallbacks(parent_, params.ipc_thread_id,
+ params.ipc_database_callbacks_id),
+ object_stores, params.mode);
transaction_database_map_[host_transaction_id] = params.ipc_database_id;
parent_->RegisterTransactionId(host_transaction_id,
database_url_map_[params.ipc_database_id]);
@@ -467,8 +469,8 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateTransaction(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClose(
int32 ipc_database_id) {
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
database->close();
@@ -477,8 +479,8 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClose(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDestroyed(
int32 ipc_object_id) {
WebIDBDatabase* database = map_.Lookup(ipc_object_id);
- parent_->Context()
- ->ConnectionClosed(database_url_map_[ipc_object_id], database);
+ parent_->Context()->ConnectionClosed(database_url_map_[ipc_object_id],
+ database);
database_url_map_.erase(ipc_object_id);
parent_->DestroyObject(&map_, ipc_object_id);
}
@@ -486,42 +488,41 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDestroyed(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnGet(
const IndexedDBHostMsg_DatabaseGet_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebData>(
- parent_, params.ipc_thread_id, params.ipc_callbacks_id));
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebData>(
+ parent_, params.ipc_thread_id,
+ params.ipc_callbacks_id));
database->get(parent_->HostTransactionId(params.transaction_id),
params.object_store_id,
params.index_id,
- params.key_range,
- params.key_only,
- callbacks.release());
+ params.key_range, params.key_only, callbacks.release());
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPut(
const IndexedDBHostMsg_DatabasePut_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebIDBKey>(
- parent_, params.ipc_thread_id, params.ipc_callbacks_id));
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebIDBKey>(parent_, params.ipc_thread_id,
+ params.ipc_callbacks_id));
// Be careful with empty vectors.
WebData value;
if (params.value.size())
- value.assign(&params.value.front(), params.value.size());
+ value.assign(&params.value.front(), params.value.size());
int64 host_transaction_id = parent_->HostTransactionId(params.transaction_id);
database->put(host_transaction_id,
params.object_store_id,
- value,
- params.key,
- params.put_mode,
- callbacks.release(),
+ value, params.key,
+ params.put_mode, callbacks.release(),
params.index_ids,
params.index_keys);
TransactionIDToSizeMap* map =
@@ -534,25 +535,22 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnPut(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnSetIndexKeys(
const IndexedDBHostMsg_DatabaseSetIndexKeys_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
int64 host_transaction_id = parent_->HostTransactionId(params.transaction_id);
if (params.index_ids.size() != params.index_keys.size()) {
- database->abort(
- host_transaction_id,
- WebIDBDatabaseError(
- WebKit::WebIDBDatabaseExceptionUnknownError,
- "Malformed IPC message: index_ids.size() != index_keys.size()"));
+ database->abort(host_transaction_id, WebIDBDatabaseError(
+ WebKit::WebIDBDatabaseExceptionUnknownError,
+ "Malformed IPC message: index_ids.size() != index_keys.size()"));
return;
}
database->setIndexKeys(host_transaction_id,
params.object_store_id,
- params.primary_key,
- params.index_ids,
+ params.primary_key, params.index_ids,
params.index_keys);
}
@@ -562,8 +560,8 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnSetIndexesReady(
int64 object_store_id,
const std::vector<int64>& index_ids) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
@@ -575,54 +573,54 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnSetIndexesReady(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnOpenCursor(
const IndexedDBHostMsg_DatabaseOpenCursor_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebIDBCursor>(
- parent_, params.ipc_thread_id, params.ipc_callbacks_id, -1));
- database->openCursor(parent_->HostTransactionId(params.transaction_id),
- params.object_store_id,
- params.index_id,
- params.key_range,
- params.direction,
- params.key_only,
- params.task_type,
- callbacks.release());
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebIDBCursor>(parent_, params.ipc_thread_id,
+ params.ipc_callbacks_id, -1));
+ database->openCursor(
+ parent_->HostTransactionId(params.transaction_id),
+ params.object_store_id, params.index_id,
+ params.key_range, params.direction, params.key_only, params.task_type,
+ callbacks.release());
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCount(
const IndexedDBHostMsg_DatabaseCount_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebData>(
- parent_, params.ipc_thread_id, params.ipc_callbacks_id));
- database->count(parent_->HostTransactionId(params.transaction_id),
- params.object_store_id,
- params.index_id,
- params.key_range,
- callbacks.release());
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebData>(
+ parent_, params.ipc_thread_id,
+ params.ipc_callbacks_id));
+ database->count(
+ parent_->HostTransactionId(params.transaction_id),
+ params.object_store_id, params.index_id,
+ params.key_range, callbacks.release());
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteRange(
const IndexedDBHostMsg_DatabaseDeleteRange_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebData>(
- parent_, params.ipc_thread_id, params.ipc_callbacks_id));
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebData>(
+ parent_, params.ipc_thread_id,
+ params.ipc_callbacks_id));
database->deleteRange(parent_->HostTransactionId(params.transaction_id),
params.object_store_id,
- params.key_range,
- callbacks.release());
+ params.key_range, callbacks.release());
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClear(
@@ -632,25 +630,26 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnClear(
int64 transaction_id,
int64 object_store_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
- scoped_ptr<WebIDBCallbacks> callbacks(new IndexedDBCallbacks<WebData>(
- parent_, ipc_thread_id, ipc_callbacks_id));
+ scoped_ptr<WebIDBCallbacks> callbacks(
+ new IndexedDBCallbacks<WebData>(
+ parent_, ipc_thread_id,
+ ipc_callbacks_id));
database->clear(parent_->HostTransactionId(transaction_id),
- object_store_id,
- callbacks.release());
+ object_store_id, callbacks.release());
}
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnAbort(
int32 ipc_database_id,
int64 transaction_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
@@ -661,19 +660,17 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCommit(
int32 ipc_database_id,
int64 transaction_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
int64 host_transaction_id = parent_->HostTransactionId(transaction_id);
int64 transaction_size = transaction_size_map_[host_transaction_id];
- if (transaction_size &&
- parent_->Context()->WouldBeOverQuota(
- transaction_url_map_[host_transaction_id], transaction_size)) {
- database->abort(
- host_transaction_id,
- WebIDBDatabaseError(WebKit::WebIDBDatabaseExceptionQuotaError));
+ if (transaction_size && parent_->Context()->WouldBeOverQuota(
+ transaction_url_map_[host_transaction_id], transaction_size)) {
+ database->abort(host_transaction_id, WebIDBDatabaseError(
+ WebKit::WebIDBDatabaseExceptionQuotaError));
return;
}
@@ -683,24 +680,24 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCommit(
void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnCreateIndex(
const IndexedDBHostMsg_DatabaseCreateIndex_Params& params) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, params.ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, params.ipc_database_id);
if (!database)
return;
int64 host_transaction_id = parent_->HostTransactionId(params.transaction_id);
- database->createIndex(host_transaction_id,
- params.object_store_id,
- params.index_id,
- params.name,
- params.key_path,
- params.unique,
- params.multi_entry);
+ database->createIndex(
+ host_transaction_id,
+ params.object_store_id,
+ params.index_id,
+ params.name,
+ params.key_path,
+ params.unique,
+ params.multi_entry);
if (parent_->Context()->IsOverQuota(
- database_url_map_[params.ipc_database_id])) {
- database->abort(
- host_transaction_id,
- WebIDBDatabaseError(WebKit::WebIDBDatabaseExceptionQuotaError));
+ database_url_map_[params.ipc_database_id])) {
+ database->abort(host_transaction_id, WebIDBDatabaseError(
+ WebKit::WebIDBDatabaseExceptionQuotaError));
}
}
@@ -710,13 +707,13 @@ void IndexedDBDispatcherHost::DatabaseDispatcherHost::OnDeleteIndex(
int64 object_store_id,
int64 index_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBDatabase* database =
- parent_->GetOrTerminateProcess(&map_, ipc_database_id);
+ WebIDBDatabase* database = parent_->GetOrTerminateProcess(
+ &map_, ipc_database_id);
if (!database)
return;
- database->deleteIndex(
- parent_->HostTransactionId(transaction_id), object_store_id, index_id);
+ database->deleteIndex(parent_->HostTransactionId(transaction_id),
+ object_store_id, index_id);
}
//////////////////////////////////////////////////////////////////////
@@ -729,45 +726,48 @@ IndexedDBDispatcherHost::CursorDispatcherHost::CursorDispatcherHost(
map_.set_check_on_null_data(true);
}
-IndexedDBDispatcherHost::CursorDispatcherHost::~CursorDispatcherHost() {}
+IndexedDBDispatcherHost::CursorDispatcherHost::~CursorDispatcherHost() {
+}
bool IndexedDBDispatcherHost::CursorDispatcherHost::OnMessageReceived(
- const IPC::Message& message,
- bool* msg_is_ok) {
+ const IPC::Message& message, bool* msg_is_ok) {
bool handled = true;
- IPC_BEGIN_MESSAGE_MAP_EX(
- IndexedDBDispatcherHost::CursorDispatcherHost, message, *msg_is_ok)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorAdvance, OnAdvance)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorContinue, OnContinue)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetch, OnPrefetch)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetchReset, OnPrefetchReset)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDelete, OnDelete)
- IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDestroyed, OnDestroyed)
- IPC_MESSAGE_UNHANDLED(handled = false)
+ IPC_BEGIN_MESSAGE_MAP_EX(IndexedDBDispatcherHost::CursorDispatcherHost,
+ message, *msg_is_ok)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorAdvance, OnAdvance)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorContinue, OnContinue)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetch, OnPrefetch)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorPrefetchReset, OnPrefetchReset)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDelete, OnDelete)
+ IPC_MESSAGE_HANDLER(IndexedDBHostMsg_CursorDestroyed, OnDestroyed)
+ IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
return handled;
}
+
void IndexedDBDispatcherHost::CursorDispatcherHost::Send(
IPC::Message* message) {
parent_->Send(message);
}
+
void IndexedDBDispatcherHost::CursorDispatcherHost::OnAdvance(
int32 ipc_cursor_id,
int32 ipc_thread_id,
int32 ipc_callbacks_id,
unsigned long count) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBCursor* idb_cursor =
- parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
+ WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(
+ &map_, ipc_cursor_id);
if (!idb_cursor)
return;
- idb_cursor->advance(
- count,
- new IndexedDBCallbacks<WebIDBCursor>(
- parent_, ipc_thread_id, ipc_callbacks_id, ipc_cursor_id));
+ idb_cursor->advance(count,
+ new IndexedDBCallbacks<WebIDBCursor>(parent_,
+ ipc_thread_id,
+ ipc_callbacks_id,
+ ipc_cursor_id));
}
void IndexedDBDispatcherHost::CursorDispatcherHost::OnContinue(
@@ -776,15 +776,15 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnContinue(
int32 ipc_callbacks_id,
const IndexedDBKey& key) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBCursor* idb_cursor =
- parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
+ WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_,
+ ipc_cursor_id);
if (!idb_cursor)
return;
idb_cursor->continueFunction(
- key,
- new IndexedDBCallbacks<WebIDBCursor>(
- parent_, ipc_thread_id, ipc_callbacks_id, ipc_cursor_id));
+ key, new IndexedDBCallbacks<WebIDBCursor>(parent_, ipc_thread_id,
+ ipc_callbacks_id,
+ ipc_cursor_id));
}
void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetch(
@@ -793,24 +793,22 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetch(
int32 ipc_callbacks_id,
int n) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBCursor* idb_cursor =
- parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
+ WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_,
+ ipc_cursor_id);
if (!idb_cursor)
return;
idb_cursor->prefetchContinue(
- n,
- new IndexedDBCallbacks<WebIDBCursor>(
- parent_, ipc_thread_id, ipc_callbacks_id, ipc_cursor_id));
+ n, new IndexedDBCallbacks<WebIDBCursor>(parent_, ipc_thread_id,
+ ipc_callbacks_id,
+ ipc_cursor_id));
}
void IndexedDBDispatcherHost::CursorDispatcherHost::OnPrefetchReset(
- int32 ipc_cursor_id,
- int used_prefetches,
- int unused_prefetches) {
+ int32 ipc_cursor_id, int used_prefetches, int unused_prefetches) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBCursor* idb_cursor =
- parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
+ WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_,
+ ipc_cursor_id);
if (!idb_cursor)
return;
@@ -822,13 +820,14 @@ void IndexedDBDispatcherHost::CursorDispatcherHost::OnDelete(
int32 ipc_thread_id,
int32 ipc_callbacks_id) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::WEBKIT_DEPRECATED));
- WebIDBCursor* idb_cursor =
- parent_->GetOrTerminateProcess(&map_, ipc_cursor_id);
+ WebIDBCursor* idb_cursor = parent_->GetOrTerminateProcess(&map_,
+ ipc_cursor_id);
if (!idb_cursor)
return;
- idb_cursor->deleteFunction(new IndexedDBCallbacks<WebData>(
- parent_, ipc_thread_id, ipc_callbacks_id));
+ idb_cursor->deleteFunction(
+ new IndexedDBCallbacks<WebData>(parent_, ipc_thread_id,
+ ipc_callbacks_id));
}
void IndexedDBDispatcherHost::CursorDispatcherHost::OnDestroyed(
diff --git a/content/browser/in_process_webkit/indexed_db_dispatcher_host.h b/content/browser/in_process_webkit/indexed_db_dispatcher_host.h
index 9908e31..48a75d7 100644
--- a/content/browser/in_process_webkit/indexed_db_dispatcher_host.h
+++ b/content/browser/in_process_webkit/indexed_db_dispatcher_host.h
@@ -30,6 +30,8 @@ struct IndexedDBHostMsg_FactoryOpen_Params;
namespace WebKit {
class WebIDBCursor;
class WebIDBDatabase;
+class WebIDBIndex;
+class WebIDBObjectStore;
struct WebIDBMetadata;
}
@@ -91,8 +93,8 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
// Helper templates.
template <class ReturnType>
- ReturnType* GetOrTerminateProcess(IDMap<ReturnType, IDMapOwnPointer>* map,
- int32 ipc_return_object_id);
+ ReturnType* GetOrTerminateProcess(
+ IDMap<ReturnType, IDMapOwnPointer>* map, int32 ipc_return_object_id);
template <typename ObjectType>
void DestroyObject(IDMap<ObjectType, IDMapOwnPointer>* map,
@@ -111,7 +113,7 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
~DatabaseDispatcherHost();
void CloseAll();
- bool OnMessageReceived(const IPC::Message& message, bool* msg_is_ok);
+ bool OnMessageReceived(const IPC::Message& message, bool *msg_is_ok);
void Send(IPC::Message* message);
void OnCreateObjectStore(
@@ -121,8 +123,7 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
int64 object_store_id);
void OnCreateTransaction(
const IndexedDBHostMsg_DatabaseCreateTransaction_Params&);
- void OnOpen(int32 ipc_database_id,
- int32 ipc_thread_id,
+ void OnOpen(int32 ipc_database_id, int32 ipc_thread_id,
int32 ipc_callbacks_id);
void OnClose(int32 ipc_database_id);
void OnDestroyed(int32 ipc_database_id);
@@ -131,11 +132,13 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
void OnPut(const IndexedDBHostMsg_DatabasePut_Params& params);
void OnSetIndexKeys(
const IndexedDBHostMsg_DatabaseSetIndexKeys_Params& params);
- void OnSetIndexesReady(int32 ipc_database_id,
- int64 transaction_id,
- int64 object_store_id,
- const std::vector<int64>& ids);
- void OnOpenCursor(const IndexedDBHostMsg_DatabaseOpenCursor_Params& params);
+ void OnSetIndexesReady(
+ int32 ipc_database_id,
+ int64 transaction_id,
+ int64 object_store_id,
+ const std::vector<int64>& ids);
+ void OnOpenCursor(
+ const IndexedDBHostMsg_DatabaseOpenCursor_Params& params);
void OnCount(const IndexedDBHostMsg_DatabaseCount_Params& params);
void OnDeleteRange(
const IndexedDBHostMsg_DatabaseDeleteRange_Params& params);
@@ -166,7 +169,7 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
explicit CursorDispatcherHost(IndexedDBDispatcherHost* parent);
~CursorDispatcherHost();
- bool OnMessageReceived(const IPC::Message& message, bool* msg_is_ok);
+ bool OnMessageReceived(const IPC::Message& message, bool *msg_is_ok);
void Send(IPC::Message* message);
void OnAdvance(int32 ipc_object_store_id,
@@ -181,8 +184,7 @@ class IndexedDBDispatcherHost : public BrowserMessageFilter {
int32 ipc_thread_id,
int32 ipc_callbacks_id,
int n);
- void OnPrefetchReset(int32 ipc_cursor_id,
- int used_prefetches,
+ void OnPrefetchReset(int32 ipc_cursor_id, int used_prefetches,
int unused_prefetches);
void OnDelete(int32 ipc_object_store_id,
int32 ipc_thread_id,