WebCacheStorageConnection.h [plain text]
#pragma once
#include <WebCore/CacheStorageConnection.h>
#include <wtf/HashMap.h>
namespace IPC {
class Connection;
class Decoder;
class Encoder;
}
namespace WebKit {
class WebCacheStorageProvider;
class WebCacheStorageConnection final : public WebCore::CacheStorageConnection {
public:
static Ref<WebCacheStorageConnection> create(WebCacheStorageProvider& provider) { return adoptRef(*new WebCacheStorageConnection(provider)); }
~WebCacheStorageConnection();
void didReceiveMessage(IPC::Connection&, IPC::Decoder&);
private:
WebCacheStorageConnection(WebCacheStorageProvider&);
IPC::Connection& connection();
void open(const WebCore::ClientOrigin&, const String& cacheName, WebCore::DOMCacheEngine::CacheIdentifierCallback&&) final;
void remove(uint64_t cacheIdentifier, WebCore::DOMCacheEngine::CacheIdentifierCallback&&) final;
void retrieveCaches(const WebCore::ClientOrigin&, uint64_t updateCounter, WebCore::DOMCacheEngine::CacheInfosCallback&&) final;
void retrieveRecords(uint64_t cacheIdentifier, const WebCore::RetrieveRecordsOptions&, WebCore::DOMCacheEngine::RecordsCallback&&) final;
void batchDeleteOperation(uint64_t cacheIdentifier, const WebCore::ResourceRequest&, WebCore::CacheQueryOptions&&, WebCore::DOMCacheEngine::RecordIdentifiersCallback&&) final;
void batchPutOperation(uint64_t cacheIdentifier, Vector<WebCore::DOMCacheEngine::Record>&&, WebCore::DOMCacheEngine::RecordIdentifiersCallback&&) final;
void reference(uint64_t cacheIdentifier) final;
void dereference(uint64_t cacheIdentifier) final;
void clearMemoryRepresentation(const WebCore::ClientOrigin&, WebCore::DOMCacheEngine::CompletionCallback&&) final;
void engineRepresentation(CompletionHandler<void(const String&)>&&) final;
void updateQuotaBasedOnSpaceUsage(const WebCore::ClientOrigin&) final;
WebCacheStorageProvider& m_provider;
};
}