WebIDBTransactionImpl.cpp [plain text]
#include "config.h"
#include "WebIDBTransactionImpl.h"
#if ENABLE(INDEXED_DATABASE)
#include "IDBTransaction.h"
#include "IDBTransactionCallbacksProxy.h"
#include "WebIDBObjectStoreImpl.h"
#include "WebIDBTransactionCallbacks.h"
using namespace WebCore;
namespace WebKit {
WebIDBTransactionImpl::WebIDBTransactionImpl(PassRefPtr<IDBTransactionBackendInterface> backend)
: m_backend(backend)
{
}
WebIDBTransactionImpl::~WebIDBTransactionImpl()
{
}
int WebIDBTransactionImpl::mode() const
{
return m_backend->mode();
}
WebIDBObjectStore* WebIDBTransactionImpl::objectStore(const WebString& name, ExceptionCode& ec)
{
RefPtr<IDBObjectStoreBackendInterface> objectStore = m_backend->objectStore(name, ec);
if (!objectStore)
return 0;
return new WebIDBObjectStoreImpl(objectStore);
}
void WebIDBTransactionImpl::abort()
{
m_backend->abort();
}
void WebIDBTransactionImpl::didCompleteTaskEvents()
{
m_backend->didCompleteTaskEvents();
}
void WebIDBTransactionImpl::setCallbacks(WebIDBTransactionCallbacks* callbacks)
{
RefPtr<IDBTransactionCallbacks> idbCallbacks = IDBTransactionCallbacksProxy::create(adoptPtr(callbacks));
m_backend->setCallbacks(idbCallbacks.get());
}
IDBTransactionBackendInterface* WebIDBTransactionImpl::getIDBTransactionBackendInterface() const
{
return m_backend.get();
}
}
#endif // ENABLE(INDEXED_DATABASE)