WebDatabaseManager.h [plain text]
#ifndef WebDatabaseManager_h
#define WebDatabaseManager_h
#include "Arguments.h"
#include <WebCore/DatabaseTrackerClient.h>
#include <wtf/Noncopyable.h>
#include <wtf/text/WTFString.h>
namespace CoreIPC {
class ArgumentDecoder;
class Connection;
class MessageID;
}
namespace WebKit {
class WebDatabaseManager : public WebCore::DatabaseTrackerClient {
WTF_MAKE_NONCOPYABLE(WebDatabaseManager);
public:
static WebDatabaseManager& shared();
static void initialize(const String& databaseDirectory);
void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
void setQuotaForOrigin(const String& originIdentifier, unsigned long long quota) const;
public:
void deleteAllDatabases() const;
private:
WebDatabaseManager();
virtual ~WebDatabaseManager();
void didReceiveWebDatabaseManagerMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
void getDatabasesByOrigin(uint64_t callbackID) const;
void getDatabaseOrigins(uint64_t callbackID) const;
void deleteDatabaseWithNameForOrigin(const String& databaseIdentifier, const String& originIdentifier) const;
void deleteDatabasesForOrigin(const String& originIdentifier) const;
virtual void dispatchDidModifyOrigin(WebCore::SecurityOrigin*) OVERRIDE;
virtual void dispatchDidModifyDatabase(WebCore::SecurityOrigin*, const String& databaseIdentifier) OVERRIDE;
};
}
#endif // WebDatabaseManager_h