| 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 c518cc4d50564e617386a6fa3fc11e706e47094e..92e75d0d9987e9d159c078338ae09e6fe6572b8e 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 FetchParameters;
|
| 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();
|
| @@ -339,8 +348,13 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| Type,
|
| const AtomicString& fetch_initiator_name);
|
|
|
| + void FinishPendingClients();
|
| +
|
| protected:
|
| - Resource(const ResourceRequest&, Type, const ResourceLoaderOptions&);
|
| + Resource(const ResourceRequest&,
|
| + Type,
|
| + const ResourceLoaderOptions&,
|
| + FetchContext* = nullptr);
|
|
|
| virtual void CheckNotify();
|
|
|
| @@ -355,8 +369,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);
|
|
|
| @@ -411,7 +423,6 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| };
|
|
|
| private:
|
| - class ResourceCallback;
|
| class CachedMetadataHandlerImpl;
|
| class ServiceWorkerResponseCachedMetadataHandler;
|
|
|
| @@ -424,6 +435,8 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
|
|
| String ReasonNotDeletable() const;
|
|
|
| + ResourceCallback& GetResourceCallback();
|
| +
|
| // MemoryCoordinatorClient overrides:
|
| void OnPurgeMemory() override;
|
|
|
| @@ -478,6 +491,7 @@ class PLATFORM_EXPORT Resource : public GarbageCollectedFinalized<Resource>,
|
| double response_timestamp_;
|
|
|
| TaskRunnerTimer<Resource> cancel_timer_;
|
| + Member<FetchContext> fetch_context_;
|
|
|
| ResourceRequest resource_request_;
|
| Member<ResourceLoader> loader_;
|
| @@ -492,7 +506,8 @@ class ResourceFactory {
|
| public:
|
| virtual Resource* Create(const ResourceRequest&,
|
| const ResourceLoaderOptions&,
|
| - const String&) const = 0;
|
| + const String&,
|
| + FetchContext*) const = 0;
|
| Resource::Type GetType() const { return type_; }
|
|
|
| protected:
|
|
|