NetworkLoadClient.h [plain text]
#pragma once
#include <WebCore/ResourceError.h>
#include <WebCore/ResourceRequest.h>
#include <WebCore/ResourceResponse.h>
namespace WebCore {
class AuthenticationChallenge;
class NetworkLoadMetrics;
class SharedBuffer;
enum class PolicyAction : uint8_t;
}
namespace WebKit {
using ResponseCompletionHandler = CompletionHandler<void(WebCore::PolicyAction)>;
class NetworkLoadClient {
public:
virtual ~NetworkLoadClient() { }
virtual bool isSynchronous() const = 0;
virtual bool isAllowedToAskUserForCredentials() const = 0;
virtual void didSendData(unsigned long long bytesSent, unsigned long long totalBytesToBeSent) = 0;
virtual void willSendRedirectedRequest(WebCore::ResourceRequest&&, WebCore::ResourceRequest&& redirectRequest, WebCore::ResourceResponse&& redirectResponse) = 0;
virtual void didReceiveResponse(WebCore::ResourceResponse&&, ResponseCompletionHandler&&) = 0;
virtual void didReceiveBuffer(Ref<WebCore::SharedBuffer>&&, int reportedEncodedDataLength) = 0;
virtual void didFinishLoading(const WebCore::NetworkLoadMetrics&) = 0;
virtual void didFailLoading(const WebCore::ResourceError&) = 0;
virtual void didBlockAuthenticationChallenge() { };
virtual void didReceiveChallenge(const WebCore::AuthenticationChallenge&) { };
virtual bool shouldCaptureExtraNetworkLoadMetrics() const { return false; }
};
}