| Index: third_party/WebKit/Source/platform/loader/fetch/Resource.h
|
| diff --git a/third_party/WebKit/Source/platform/loader/fetch/Resource.h b/third_party/WebKit/Source/platform/loader/fetch/Resource.h
|
| index 878bd180330cbfe575cc740f476b4e1e654ba281..60f77acf7c8f88448731ef520d116af6a4cd3bd9 100644
|
| --- a/third_party/WebKit/Source/platform/loader/fetch/Resource.h
|
| +++ b/third_party/WebKit/Source/platform/loader/fetch/Resource.h
|
| @@ -48,6 +48,7 @@
|
|
|
| namespace blink {
|
|
|
| +class FetchContext;
|
| class FetchRequest;
|
| class ResourceClient;
|
| class ResourceFetcher;
|
| @@ -99,6 +100,14 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| kReloadAlways,
|
| };
|
|
|
| + class ResourceCallback {
|
| + public:
|
| + virtual ~ResourceCallback() {}
|
| + virtual void schedule(Resource*) = 0;
|
| + virtual void cancel(Resource*) = 0;
|
| + virtual bool isScheduled(Resource*) const = 0;
|
| + };
|
| +
|
| virtual ~Resource();
|
|
|
| DECLARE_VIRTUAL_TRACE();
|
| @@ -337,8 +346,13 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| Type,
|
| const AtomicString& fetchInitiatorName);
|
|
|
| + void finishPendingClients();
|
| +
|
| protected:
|
| - Resource(const ResourceRequest&, Type, const ResourceLoaderOptions&);
|
| + Resource(const ResourceRequest&,
|
| + Type,
|
| + const ResourceLoaderOptions&,
|
| + FetchContext* = nullptr);
|
|
|
| virtual void checkNotify();
|
|
|
| @@ -353,8 +367,6 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| void setEncodedSize(size_t);
|
| void setDecodedSize(size_t);
|
|
|
| - void finishPendingClients();
|
| -
|
| virtual void didAddClient(ResourceClient*);
|
| void willAddClientOrObserver(PreloadReferencePolicy);
|
|
|
| @@ -409,7 +421,6 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| };
|
|
|
| private:
|
| - class ResourceCallback;
|
| class CachedMetadataHandlerImpl;
|
| class ServiceWorkerResponseCachedMetadataHandler;
|
|
|
| @@ -422,6 +433,8 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
|
|
| String reasonNotDeletable() const;
|
|
|
| + ResourceCallback& resourceCallback();
|
| +
|
| // MemoryCoordinatorClient overrides:
|
| void onPurgeMemory() override;
|
|
|
| @@ -476,6 +489,7 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| double m_responseTimestamp;
|
|
|
| TaskRunnerTimer<Resource> m_cancelTimer;
|
| + Member<FetchContext> m_fetchContext;
|
|
|
| ResourceRequest m_resourceRequest;
|
| Member<ResourceLoader> m_loader;
|
| @@ -490,7 +504,8 @@ class ResourceFactory {
|
| public:
|
| virtual Resource* create(const ResourceRequest&,
|
| const ResourceLoaderOptions&,
|
| - const String&) const = 0;
|
| + const String&,
|
| + FetchContext*) const = 0;
|
| Resource::Type type() const { return m_type; }
|
|
|
| protected:
|
|
|