IDBOpenDBRequest.h [plain text]
#ifndef IDBOpenDBRequest_h
#define IDBOpenDBRequest_h
#if ENABLE(INDEXED_DATABASE)
#include "IDBRequest.h"
#include "IndexedDB.h"
namespace WebCore {
class IDBDatabaseCallbacks;
class IDBOpenDBRequest : public IDBRequest {
public:
static PassRefPtr<IDBOpenDBRequest> create(ScriptExecutionContext*, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, uint64_t version, IndexedDB::VersionNullness);
virtual ~IDBOpenDBRequest();
using IDBRequest::onSuccess;
virtual void onBlocked(uint64_t existingVersion) override;
virtual void onUpgradeNeeded(uint64_t oldVersion, PassRefPtr<IDBDatabaseBackend>, const IDBDatabaseMetadata&) override;
virtual void onSuccess(PassRefPtr<IDBDatabaseBackend>, const IDBDatabaseMetadata&) override;
virtual EventTargetInterface eventTargetInterface() const;
virtual bool dispatchEvent(PassRefPtr<Event>) override;
DEFINE_ATTRIBUTE_EVENT_LISTENER(blocked);
DEFINE_ATTRIBUTE_EVENT_LISTENER(upgradeneeded);
protected:
virtual bool shouldEnqueueEvent() const override;
private:
IDBOpenDBRequest(ScriptExecutionContext*, PassRefPtr<IDBDatabaseCallbacks>, int64_t transactionId, uint64_t version, IndexedDB::VersionNullness);
RefPtr<IDBDatabaseCallbacks> m_databaseCallbacks;
const int64_t m_transactionId;
uint64_t m_version;
IndexedDB::VersionNullness m_versionNullness;
};
}
#endif // ENABLE(INDEXED_DATABASE)
#endif // IDBOpenDBRequest_h