diff options
author | andreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 16:05:02 +0000 |
---|---|---|
committer | andreip@chromium.org <andreip@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-08-20 16:05:02 +0000 |
commit | 1f79401611f73ac332233ce35ef1c29b7c7af0c2 (patch) | |
tree | 93247f538a34e9d2ba7d6472599321869a051309 /chrome/renderer/renderer_webidbtransaction_impl.cc | |
parent | 7de5b825b9c3baacaa038f3f1e6c7c45bdabad8e (diff) | |
download | chromium_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.cc | 60 |
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); +} |