LegacyCustomProtocolManagerProxy.h [plain text]
#pragma once
#include "MessageReceiver.h"
#if PLATFORM(COCOA)
#include <wtf/HashMap.h>
#include <wtf/RetainPtr.h>
OBJC_CLASS WKCustomProtocolLoader;
#endif
namespace IPC {
class DataReference;
}
namespace WebCore {
class ResourceError;
class ResourceRequest;
class ResourceResponse;
}
namespace WebKit {
class NetworkProcessProxy;
class LegacyCustomProtocolManagerProxy : public IPC::MessageReceiver {
public:
LegacyCustomProtocolManagerProxy(NetworkProcessProxy&);
~LegacyCustomProtocolManagerProxy();
void startLoading(uint64_t customProtocolID, const WebCore::ResourceRequest&);
void stopLoading(uint64_t customProtocolID);
void invalidate();
void wasRedirectedToRequest(uint64_t customProtocolID, const WebCore::ResourceRequest&, const WebCore::ResourceResponse&);
void didReceiveResponse(uint64_t customProtocolID, const WebCore::ResourceResponse&, uint32_t cacheStoragePolicy);
void didLoadData(uint64_t customProtocolID, const IPC::DataReference&);
void didFailWithError(uint64_t customProtocolID, const WebCore::ResourceError&);
void didFinishLoading(uint64_t customProtocolID);
private:
void didReceiveMessage(IPC::Connection&, IPC::Decoder&) override;
NetworkProcessProxy& m_networkProcessProxy;
#if PLATFORM(COCOA)
typedef HashMap<uint64_t, RetainPtr<WKCustomProtocolLoader>> LoaderMap;
LoaderMap m_loaderMap;
#endif
};
}