IDBTransactionBackendProxy.cpp [plain text]
#include "config.h"
#include "IDBTransactionBackendProxy.h"
#if ENABLE(INDEXED_DATABASE)
#include "IDBObjectStoreBackendProxy.h"
#include "IDBTransactionCallbacks.h"
#include "WebIDBDatabaseError.h"
#include "WebIDBObjectStore.h"
#include "WebIDBTransaction.h"
#include "WebIDBTransactionCallbacksImpl.h"
using namespace WebCore;
namespace WebKit {
PassRefPtr<IDBTransactionBackendInterface> IDBTransactionBackendProxy::create(PassOwnPtr<WebIDBTransaction> transaction)
{
return adoptRef(new IDBTransactionBackendProxy(transaction));
}
IDBTransactionBackendProxy::IDBTransactionBackendProxy(PassOwnPtr<WebIDBTransaction> transaction)
: m_webIDBTransaction(transaction)
{
ASSERT(m_webIDBTransaction);
}
IDBTransactionBackendProxy::~IDBTransactionBackendProxy()
{
}
PassRefPtr<IDBObjectStoreBackendInterface> IDBTransactionBackendProxy::objectStore(const String& name, ExceptionCode& ec)
{
OwnPtr<WebIDBObjectStore> objectStore = adoptPtr(m_webIDBTransaction->objectStore(name, ec));
if (!objectStore)
return 0;
return IDBObjectStoreBackendProxy::create(objectStore.release());
}
unsigned short IDBTransactionBackendProxy::mode() const
{
return m_webIDBTransaction->mode();
}
void IDBTransactionBackendProxy::abort()
{
m_webIDBTransaction->abort();
}
void IDBTransactionBackendProxy::registerOpenCursor(WebCore::IDBCursorBackendImpl*)
{
ASSERT_NOT_REACHED();
}
void IDBTransactionBackendProxy::unregisterOpenCursor(WebCore::IDBCursorBackendImpl*)
{
ASSERT_NOT_REACHED();
}
bool IDBTransactionBackendProxy::scheduleTask(PassOwnPtr<ScriptExecutionContext::Task>, PassOwnPtr<ScriptExecutionContext::Task>)
{
ASSERT_NOT_REACHED();
return false;
}
void IDBTransactionBackendProxy::didCompleteTaskEvents()
{
m_webIDBTransaction->didCompleteTaskEvents();
}
void IDBTransactionBackendProxy::setCallbacks(IDBTransactionCallbacks* callbacks)
{
m_webIDBTransaction->setCallbacks(new WebIDBTransactionCallbacksImpl(callbacks));
}
}
#endif // ENABLE(INDEXED_DATABASE)