#ifndef loader_h
#define loader_h
#include "DeprecatedPtrList.h"
#include "SubresourceLoaderClient.h"
#include <wtf/HashMap.h>
namespace WebCore {
class CachedResource;
class DocLoader;
class Request;
class Loader : private SubresourceLoaderClient {
public:
Loader();
~Loader();
void load(DocLoader*, CachedResource*, bool incremental = true, bool skipCanLoadCheck = false, bool sendResourceLoadCallbacks = true);
void cancelRequests(DocLoader*);
private:
virtual void didReceiveResponse(SubresourceLoader*, const ResourceResponse&);
virtual void didReceiveData(SubresourceLoader*, const char*, int);
virtual void didFinishLoading(SubresourceLoader*);
virtual void didFail(SubresourceLoader*, const ResourceError&);
void didFail(SubresourceLoader*, bool cancelled = false);
void servePendingRequests();
DeprecatedPtrList<Request> m_requestsPending;
typedef HashMap<RefPtr<SubresourceLoader>, Request*> RequestMap;
RequestMap m_requestsLoading;
};
}
#endif