summaryrefslogtreecommitdiff
path: root/Source/WebCore/loader/LoaderStrategy.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/loader/LoaderStrategy.h')
-rw-r--r--Source/WebCore/loader/LoaderStrategy.h43
1 files changed, 27 insertions, 16 deletions
diff --git a/Source/WebCore/loader/LoaderStrategy.h b/Source/WebCore/loader/LoaderStrategy.h
index 0e625d35a..8121f0e77 100644
--- a/Source/WebCore/loader/LoaderStrategy.h
+++ b/Source/WebCore/loader/LoaderStrategy.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
+ * Copyright (C) 2012, 2015 Apple Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,37 +23,48 @@
* THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef LoaderStrategy_h
-#define LoaderStrategy_h
+#pragma once
#include "ResourceHandleTypes.h"
+#include "ResourceLoadPriority.h"
+#include "ResourceLoaderOptions.h"
+#include <wtf/SHA1.h>
#include <wtf/Vector.h>
namespace WebCore {
-class BlobRegistry;
+class CachedResource;
+class Frame;
+class NetscapePlugInStreamLoader;
+class NetscapePlugInStreamLoaderClient;
class NetworkingContext;
class ResourceError;
-class ResourceLoadScheduler;
+class ResourceLoader;
class ResourceRequest;
class ResourceResponse;
+class SharedBuffer;
+class SubresourceLoader;
+class URL;
-class LoaderStrategy {
+class WEBCORE_EXPORT LoaderStrategy {
public:
- virtual ResourceLoadScheduler* resourceLoadScheduler();
+ virtual RefPtr<SubresourceLoader> loadResource(Frame&, CachedResource&, const ResourceRequest&, const ResourceLoaderOptions&) = 0;
+ virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data) = 0;
- virtual void loadResourceSynchronously(NetworkingContext*, unsigned long identifier, const ResourceRequest&, StoredCredentials, ClientCredentialPolicy, ResourceError&, ResourceResponse&, Vector<char>& data);
+ virtual void remove(ResourceLoader*) = 0;
+ virtual void setDefersLoading(ResourceLoader*, bool) = 0;
+ virtual void crossOriginRedirectReceived(ResourceLoader*, const URL& redirectURL) = 0;
-#if ENABLE(BLOB)
- virtual BlobRegistry* createBlobRegistry();
-#endif
+ virtual void servePendingRequests(ResourceLoadPriority minimumPriority = ResourceLoadPriority::VeryLow) = 0;
+ virtual void suspendPendingRequests() = 0;
+ virtual void resumePendingRequests() = 0;
+
+ virtual void createPingHandle(NetworkingContext*, ResourceRequest&, bool shouldUseCredentialStorage, bool shouldFollowRedirects) = 0;
+
+ virtual void storeDerivedDataToCache(const SHA1::Digest& bodyKey, const String& type, const String& partition, WebCore::SharedBuffer&) = 0;
protected:
- virtual ~LoaderStrategy()
- {
- }
+ virtual ~LoaderStrategy();
};
} // namespace WebCore
-
-#endif // LoaderStrategy_h