APIWebsiteDataStore.h [plain text]
#pragma once
#include "APIHTTPCookieStore.h"
#include "WebsiteDataStore.h"
#include <pal/SessionID.h>
#include <wtf/text/WTFString.h>
namespace API {
class WebsiteDataStore final : public ObjectImpl<Object::Type::WebsiteDataStore> {
public:
static Ref<WebsiteDataStore> defaultDataStore();
static bool defaultDataStoreExists();
static void deleteDefaultDataStoreForTesting();
static Ref<WebsiteDataStore> createNonPersistentDataStore();
static Ref<WebsiteDataStore> createLegacy(WebKit::WebsiteDataStore::Configuration);
explicit WebsiteDataStore(WebKit::WebsiteDataStore::Configuration, PAL::SessionID);
virtual ~WebsiteDataStore();
bool isPersistent();
bool resourceLoadStatisticsEnabled() const;
void setResourceLoadStatisticsEnabled(bool);
bool resourceLoadStatisticsDebugMode() const;
void setResourceLoadStatisticsDebugMode(bool);
WebKit::WebsiteDataStore& websiteDataStore() { return m_websiteDataStore.get(); }
HTTPCookieStore& httpCookieStore();
static String defaultApplicationCacheDirectory();
static String defaultCacheStorageDirectory();
static String defaultNetworkCacheDirectory();
static String defaultMediaCacheDirectory();
static String defaultIndexedDBDatabaseDirectory();
static String defaultServiceWorkerRegistrationDirectory();
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);
Ref<WebKit::WebsiteDataStore> m_websiteDataStore;
RefPtr<HTTPCookieStore> m_apiHTTPCookieStore;
};
}