#include "core/fetch/CachePolicy.h"
#include "core/fetch/FetchInitiatorInfo.h"
#include "core/fetch/Resource.h"
+#include "platform/heap/Handle.h"
#include "platform/network/ResourceLoadPriority.h"
#include "wtf/Noncopyable.h"
-namespace WebCore {
+namespace blink {
class Document;
class DocumentLoader;
-class Frame;
class KURL;
-class Page;
class ResourceError;
class ResourceLoader;
class ResourceResponse;
class ResourceRequest;
-class FetchContext {
+enum FetchResourceType {
+ FetchMainResource,
+ FetchSubresource
+};
+
+class FetchContext : public NoBaseWillBeGarbageCollectedFinalized<FetchContext> {
WTF_MAKE_NONCOPYABLE(FetchContext);
public:
static FetchContext& nullInstance();
FetchContext() { }
virtual ~FetchContext() { }
+ virtual void trace(Visitor*) { }
virtual void reportLocalLoadFailed(const KURL&);
- virtual void addAdditionalRequestHeaders(Document&, ResourceRequest&, Resource::Type);
- virtual CachePolicy cachePolicy(Resource::Type) const;
+ virtual void addAdditionalRequestHeaders(Document*, ResourceRequest&, FetchResourceType);
+ virtual void setFirstPartyForCookies(ResourceRequest&);
+ virtual CachePolicy cachePolicy(Document*) const;
- virtual void dispatchDidChangeResourcePriority(unsigned long identifier, ResourceLoadPriority);
+ virtual void dispatchDidChangeResourcePriority(unsigned long identifier, ResourceLoadPriority, int intraPriorityValue);
virtual void dispatchWillSendRequest(DocumentLoader*, unsigned long identifier, ResourceRequest&, const ResourceResponse& redirectResponse, const FetchInitiatorInfo& = FetchInitiatorInfo());
virtual void dispatchDidLoadResourceFromMemoryCache(const ResourceRequest&, const ResourceResponse&);
virtual void dispatchDidReceiveResponse(DocumentLoader*, unsigned long identifier, const ResourceResponse&, ResourceLoader* = 0);
virtual void dispatchDidReceiveData(DocumentLoader*, unsigned long identifier, const char* data, int dataLength, int encodedDataLength);
- virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, double finishTime);
- virtual void dispatchDidFail(DocumentLoader*, unsigned long identifier, const ResourceError&);
- virtual void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, const char* data, int dataLength, int encodedDataLength, const ResourceError&);
+ virtual void dispatchDidDownloadData(DocumentLoader*, unsigned long identifier, int dataLength, int encodedDataLength);
+ virtual void dispatchDidFinishLoading(DocumentLoader*, unsigned long identifier, double finishTime, int64_t encodedDataLength);
+ virtual void dispatchDidFail(DocumentLoader*, unsigned long identifier, const ResourceError&, bool isInternalRequest);
+ virtual void sendRemainingDelegateMessages(DocumentLoader*, unsigned long identifier, const ResourceResponse&, int dataLength);
};
}