APIDownloadClient.h [plain text]
#pragma once
#include "AuthenticationChallengeDisposition.h"
#include "AuthenticationChallengeProxy.h"
#include "AuthenticationDecisionListener.h"
#include "DownloadID.h"
#include <wtf/CompletionHandler.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
class ResourceError;
class ResourceRequest;
class ResourceResponse;
}
namespace WebKit {
class AuthenticationChallengeProxy;
class DownloadProxy;
class WebsiteDataStore;
class WebProtectionSpace;
enum class AllowOverwrite : bool;
}
namespace API {
class Data;
class DownloadClient : public RefCounted<DownloadClient> {
WTF_MAKE_FAST_ALLOCATED;
public:
virtual ~DownloadClient() { }
virtual void legacyDidStart(WebKit::DownloadProxy&) { }
virtual void didReceiveAuthenticationChallenge(WebKit::DownloadProxy&, WebKit::AuthenticationChallengeProxy& challenge) { challenge.listener().completeChallenge(WebKit::AuthenticationChallengeDisposition::Cancel); }
virtual void didReceiveData(WebKit::DownloadProxy&, uint64_t, uint64_t, uint64_t) { }
virtual void decideDestinationWithSuggestedFilename(WebKit::DownloadProxy&, const WebCore::ResourceResponse&, const WTF::String&, CompletionHandler<void(WebKit::AllowOverwrite, WTF::String)>&& completionHandler) { completionHandler(WebKit::AllowOverwrite::No, { }); }
virtual void didCreateDestination(WebKit::DownloadProxy&, const WTF::String&) { }
virtual void didFinish(WebKit::DownloadProxy&) { }
virtual void didFail(WebKit::DownloadProxy&, const WebCore::ResourceError&, API::Data* resumeData) { }
virtual void legacyDidCancel(WebKit::DownloadProxy&) { }
virtual void processDidCrash(WebKit::DownloadProxy&) { }
virtual void willSendRequest(WebKit::DownloadProxy&, WebCore::ResourceRequest&& request, const WebCore::ResourceResponse&, CompletionHandler<void(WebCore::ResourceRequest&&)>&& completionHandler) { completionHandler(WTFMove(request)); }
};
}