summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/indexed_db_dispatcher.h
diff options
context:
space:
mode:
authorandreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 16:05:02 +0000
committerandreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-08-20 16:05:02 +0000
commit1f79401611f73ac332233ce35ef1c29b7c7af0c2 (patch)
tree93247f538a34e9d2ba7d6472599321869a051309 /chrome/renderer/indexed_db_dispatcher.h
parent7de5b825b9c3baacaa038f3f1e6c7c45bdabad8e (diff)
downloadchromium_src-1f79401611f73ac332233ce35ef1c29b7c7af0c2.zip
chromium_src-1f79401611f73ac332233ce35ef1c29b7c7af0c2.tar.gz
chromium_src-1f79401611f73ac332233ce35ef1c29b7c7af0c2.tar.bz2
Add transaction coordinator. Allow idle transactions to be aborted when their parent JS context finishes executing.
This change depends on the following WebKit bug: https://bugs.webkit.org/show_bug.cgi?id=44101 Review URL: http://codereview.chromium.org/3165026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56862 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer/indexed_db_dispatcher.h')
-rw-r--r--chrome/renderer/indexed_db_dispatcher.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/chrome/renderer/indexed_db_dispatcher.h b/chrome/renderer/indexed_db_dispatcher.h
index 5c04180..c2602e0 100644
--- a/chrome/renderer/indexed_db_dispatcher.h
+++ b/chrome/renderer/indexed_db_dispatcher.h
@@ -11,6 +11,7 @@
#include "ipc/ipc_message.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBCallbacks.h"
#include "third_party/WebKit/WebKit/chromium/public/WebIDBDatabase.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebIDBTransactionCallbacks.h"
class IndexedDBKey;
class SerializedScriptValue;
@@ -69,6 +70,9 @@ class IndexedDBDispatcher {
const WebKit::WebIDBKeyRange& idb_key_range, unsigned short direction,
WebKit::WebIDBCallbacks* callbacks, int32 idb_object_store_id);
+ void RequestIDBTransactionSetCallbacks(
+ WebKit::WebIDBTransactionCallbacks* callbacks);
+
private:
// IDBCallback message handlers.
void OnSuccessNull(int32 response_id);
@@ -80,10 +84,13 @@ class IndexedDBDispatcher {
void OnSuccessSerializedScriptValue(int32 response_id,
const SerializedScriptValue& value);
void OnError(int32 response_id, int code, const string16& message);
+ void OnAbort(int transaction_id);
// Careful! WebIDBCallbacks wraps non-threadsafe data types. It must be
// destroyed and used on the same thread it was created on.
IDMap<WebKit::WebIDBCallbacks, IDMapOwnPointer> pending_callbacks_;
+ IDMap<WebKit::WebIDBTransactionCallbacks, IDMapOwnPointer>
+ pending_transaction_callbacks_;
DISALLOW_COPY_AND_ASSIGN(IndexedDBDispatcher);
};