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(Ref<WebKit::WebsiteDataStoreConfiguration>&&);
explicit WebsiteDataStore(Ref<WebKit::WebsiteDataStoreConfiguration>&&, 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 WTF::String defaultApplicationCacheDirectory();
static WTF::String defaultCacheStorageDirectory();
static WTF::String defaultNetworkCacheDirectory();
static WTF::String defaultMediaCacheDirectory();
static WTF::String defaultIndexedDBDatabaseDirectory();
static WTF::String defaultServiceWorkerRegistrationDirectory();
static WTF::String defaultLocalStorageDirectory();
static WTF::String defaultMediaKeysStorageDirectory();
static WTF::String defaultDeviceIdHashSaltsStorageDirectory();
static WTF::String defaultWebSQLDatabaseDirectory();
static WTF::String defaultResourceLoadStatisticsDirectory();
static WTF::String defaultJavaScriptConfigurationDirectory();
static Ref<WebKit::WebsiteDataStoreConfiguration> defaultDataStoreConfiguration();
static WTF::String legacyDefaultApplicationCacheDirectory();
static WTF::String legacyDefaultNetworkCacheDirectory();
static WTF::String legacyDefaultLocalStorageDirectory();
static WTF::String legacyDefaultIndexedDBDatabaseDirectory();
static WTF::String legacyDefaultWebSQLDatabaseDirectory();
static WTF::String legacyDefaultMediaKeysStorageDirectory();
static WTF::String legacyDefaultDeviceIdHashSaltsStorageDirectory();
static WTF::String legacyDefaultMediaCacheDirectory();
static WTF::String legacyDefaultJavaScriptConfigurationDirectory();
static Ref<WebKit::WebsiteDataStoreConfiguration> legacyDefaultDataStoreConfiguration();
private:
enum ShouldCreateDirectory { CreateDirectory, DontCreateDirectory };
WebsiteDataStore();
static WTF::String tempDirectoryFileSystemRepresentation(const WTF::String& directoryName, ShouldCreateDirectory = CreateDirectory);
static WTF::String cacheDirectoryFileSystemRepresentation(const WTF::String& directoryName);
static WTF::String websiteDataDirectoryFileSystemRepresentation(const WTF::String& directoryName);
Ref<WebKit::WebsiteDataStore> m_websiteDataStore;
RefPtr<HTTPCookieStore> m_apiHTTPCookieStore;
};
}