#include "config.h"
#include "DatabaseSync.h"
#if ENABLE(DATABASE)
#include "DatabaseCallback.h"
#include "ExceptionCode.h"
#include "SQLTransactionSyncCallback.h"
#include "ScriptExecutionContext.h"
#include <wtf/PassRefPtr.h>
#include <wtf/RefPtr.h>
#include <wtf/StdLibExtras.h>
namespace WebCore {
const String& DatabaseSync::databaseInfoTableName()
{
DEFINE_STATIC_LOCAL(String, name, ("__WebKitDatabaseInfoTable__"));
return name;
}
static bool isSyncDatabaseAvailable = true;
void DatabaseSync::setIsAvailable(bool available)
{
isSyncDatabaseAvailable = available;
}
bool DatabaseSync::isAvailable()
{
return isSyncDatabaseAvailable;
}
PassRefPtr<DatabaseSync> DatabaseSync::openDatabaseSync(ScriptExecutionContext*, const String&, const String&, const String&,
unsigned long, PassRefPtr<DatabaseCallback>, ExceptionCode& ec)
{
ec = SECURITY_ERR;
return 0;
}
DatabaseSync::DatabaseSync(ScriptExecutionContext* context, const String& name, const String& expectedVersion,
const String& displayName, unsigned long estimatedSize, PassRefPtr<DatabaseCallback> creationCallback)
: m_scriptExecutionContext(context)
, m_name(name.crossThreadString())
, m_expectedVersion(expectedVersion.crossThreadString())
, m_displayName(displayName.crossThreadString())
, m_estimatedSize(estimatedSize)
, m_creationCallback(creationCallback)
{
ASSERT(context->isContextThread());
}
DatabaseSync::~DatabaseSync()
{
ASSERT(m_scriptExecutionContext->isContextThread());
}
String DatabaseSync::version() const
{
ASSERT(m_scriptExecutionContext->isContextThread());
return String();
}
void DatabaseSync::changeVersion(const String&, const String&, PassRefPtr<SQLTransactionSyncCallback>)
{
ASSERT(m_scriptExecutionContext->isContextThread());
}
void DatabaseSync::transaction(PassRefPtr<SQLTransactionSyncCallback>, bool)
{
ASSERT(m_scriptExecutionContext->isContextThread());
}
ScriptExecutionContext* DatabaseSync::scriptExecutionContext() const
{
ASSERT(m_scriptExecutionContext->isContextThread());
return m_scriptExecutionContext.get();
}
#endif // ENABLE(DATABASE)
}