summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webidbtransaction_impl.cc
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/renderer_webidbtransaction_impl.cc
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/renderer_webidbtransaction_impl.cc')
-rw-r--r--chrome/renderer/renderer_webidbtransaction_impl.cc60
1 files changed, 60 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webidbtransaction_impl.cc b/chrome/renderer/renderer_webidbtransaction_impl.cc
new file mode 100644
index 0000000..c998245
--- /dev/null
+++ b/chrome/renderer/renderer_webidbtransaction_impl.cc
@@ -0,0 +1,60 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/renderer/renderer_WebIDBTransaction_impl.h"
+
+#include "chrome/common/render_messages.h"
+#include "chrome/renderer/render_thread.h"
+#include "chrome/renderer/indexed_db_dispatcher.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebIDBObjectStore.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebIDBTransactionCallbacks.h"
+#include "third_party/WebKit/WebKit/chromium/public/WebString.h"
+
+using WebKit::WebIDBObjectStore;
+using WebKit::WebIDBTransactionCallbacks;
+using WebKit::WebString;
+
+RendererWebIDBTransactionImpl::RendererWebIDBTransactionImpl(
+ int32 idb_transaction_id)
+ : idb_transaction_id_(idb_transaction_id) {
+}
+
+RendererWebIDBTransactionImpl::~RendererWebIDBTransactionImpl() {
+ RenderThread::current()->Send(new ViewHostMsg_IDBTransactionDestroyed(
+ idb_transaction_id_));
+}
+
+int RendererWebIDBTransactionImpl::mode() const
+{
+ // TODO: implement
+ DCHECK(false);
+ return 0;
+}
+
+WebIDBObjectStore* RendererWebIDBTransactionImpl::objectStore(
+ const WebString& name)
+{
+ // TODO: implement
+ DCHECK(false);
+ return 0;
+}
+
+void RendererWebIDBTransactionImpl::abort()
+{
+ // TODO: implement
+ DCHECK(false);
+}
+
+int RendererWebIDBTransactionImpl::id() const
+{
+ return idb_transaction_id_;
+}
+
+void RendererWebIDBTransactionImpl::setCallbacks(
+ WebIDBTransactionCallbacks* callbacks)
+{
+ IndexedDBDispatcher* dispatcher =
+ RenderThread::current()->indexed_db_dispatcher();
+ dispatcher->RequestIDBTransactionSetCallbacks(callbacks);
+}