WorkerContextIndexedDatabase.cpp [plain text]
#include "config.h"
#if ENABLE(WORKERS) && ENABLE(INDEXED_DATABASE)
#include "WorkerContextIndexedDatabase.h"
#include "IDBFactory.h"
#include "IDBFactoryBackendInterface.h"
#include "ScriptExecutionContext.h"
#include "SecurityOrigin.h"
namespace WebCore {
WorkerContextIndexedDatabase::WorkerContextIndexedDatabase()
{
}
WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase()
{
}
const char* WorkerContextIndexedDatabase::supplementName()
{
return "WorkerContextIndexedDatabase";
}
WorkerContextIndexedDatabase* WorkerContextIndexedDatabase::from(ScriptExecutionContext* context)
{
WorkerContextIndexedDatabase* supplement = static_cast<WorkerContextIndexedDatabase*>(Supplement<ScriptExecutionContext>::from(context, supplementName()));
if (!supplement) {
supplement = new WorkerContextIndexedDatabase();
provideTo(context, supplementName(), adoptPtr(supplement));
}
return supplement;
}
IDBFactory* WorkerContextIndexedDatabase::indexedDB(ScriptExecutionContext* context)
{
return from(context)->indexedDB();
}
IDBFactory* WorkerContextIndexedDatabase::indexedDB()
{
if (!m_factoryBackend)
m_factoryBackend = IDBFactoryBackendInterface::create();
if (!m_idbFactory)
m_idbFactory = IDBFactory::create(m_factoryBackend.get());
return m_idbFactory.get();
}
}
#endif // ENABLE(WORKERS) && ENABLE(INDEXED_DATABASE)