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); |
+} |