APIWebsiteDataStore.h [plain text]
#ifndef APIWebsiteDataStore_h
#define APIWebsiteDataStore_h
#include "APIHTTPCookieStore.h"
#include "WebsiteDataStore.h"
#include <WebCore/SessionID.h>
#include <wtf/text/WTFString.h>
namespace API {
class WebsiteDataStore final : public ObjectImpl<Object::Type::WebsiteDataStore> {
public:
static Ref<WebsiteDataStore> defaultDataStore();
static Ref<WebsiteDataStore> createNonPersistentDataStore();
static Ref<WebsiteDataStore> createLegacy(WebKit::WebsiteDataStore::Configuration);
explicit WebsiteDataStore(WebKit::WebsiteDataStore::Configuration, WebCore::SessionID);
virtual ~WebsiteDataStore();
bool isPersistent();
bool resourceLoadStatisticsEnabled() const;
void setResourceLoadStatisticsEnabled(bool);
WebKit::WebsiteDataStore& websiteDataStore() { return *m_websiteDataStore; }
HTTPCookieStore& httpCookieStore();
static String defaultApplicationCacheDirectory();
static String defaultNetworkCacheDirectory();
static String defaultMediaCacheDirectory();
static String defaultIndexedDBDatabaseDirectory();
static String defaultLocalStorageDirectory();
static String defaultMediaKeysStorageDirectory();
static String defaultWebSQLDatabaseDirectory();
static String defaultResourceLoadStatisticsDirectory();
static String defaultJavaScriptConfigurationDirectory();
static WebKit::WebsiteDataStore::Configuration defaultDataStoreConfiguration();
private:
enum ShouldCreateDirectory { CreateDirectory, DontCreateDirectory };
WebsiteDataStore();
static String tempDirectoryFileSystemRepresentation(const String& directoryName, ShouldCreateDirectory shouldCreateDirectory = CreateDirectory);
static String cacheDirectoryFileSystemRepresentation(const String& directoryName);
static String websiteDataDirectoryFileSystemRepresentation(const String& directoryName);
RefPtr<WebKit::WebsiteDataStore> m_websiteDataStore;
RefPtr<HTTPCookieStore> m_apiHTTPCookieStore;
};
}
#endif // APIWebsiteDataStore_h