| Index: chrome/renderer/indexed_db_dispatcher.cc
|
| diff --git a/chrome/renderer/indexed_db_dispatcher.cc b/chrome/renderer/indexed_db_dispatcher.cc
|
| index 1087eec6ae87a7bcdf843703ca6c1e422b105e77..65336da238e768cac8b0eb49f5ab8ae2b88e634c 100644
|
| --- a/chrome/renderer/indexed_db_dispatcher.cc
|
| +++ b/chrome/renderer/indexed_db_dispatcher.cc
|
| @@ -51,6 +51,8 @@ bool IndexedDBDispatcher::OnMessageReceived(const IPC::Message& msg) {
|
| OnSuccessSerializedScriptValue)
|
| IPC_MESSAGE_HANDLER(ViewMsg_IDBCallbacksError,
|
| OnError)
|
| + IPC_MESSAGE_HANDLER(ViewMsg_IDBTransactionCallbacksAbort,
|
| + OnAbort)
|
| IPC_MESSAGE_UNHANDLED(handled = false)
|
| IPC_END_MESSAGE_MAP()
|
| return handled;
|
| @@ -177,6 +179,11 @@ void IndexedDBDispatcher::RequestIDBObjectStoreOpenCursor(
|
| new ViewHostMsg_IDBObjectStoreOpenCursor(params));
|
| }
|
|
|
| +void IndexedDBDispatcher::RequestIDBTransactionSetCallbacks(
|
| + WebKit::WebIDBTransactionCallbacks* callbacks) {
|
| + pending_transaction_callbacks_.AddWithID(callbacks, callbacks->id());
|
| +}
|
| +
|
| void IndexedDBDispatcher::OnSuccessNull(int32 response_id) {
|
| WebKit::WebIDBCallbacks* callbacks = pending_callbacks_.Lookup(response_id);
|
| callbacks->onSuccess();
|
| @@ -232,3 +239,11 @@ void IndexedDBDispatcher::OnError(int32 response_id, int code,
|
| callbacks->onError(WebIDBDatabaseError(code, message));
|
| pending_callbacks_.Remove(response_id);
|
| }
|
| +
|
| +void IndexedDBDispatcher::OnAbort(int transaction_id) {
|
| + WebKit::WebIDBTransactionCallbacks* callbacks =
|
| + pending_transaction_callbacks_.Lookup(transaction_id);
|
| + DCHECK(callbacks);
|
| + callbacks->onAbort();
|
| + pending_transaction_callbacks_.Remove(transaction_id);
|
| +}
|
|
|