| Index: Source/core/fetch/Resource.h
|
| diff --git a/Source/core/fetch/Resource.h b/Source/core/fetch/Resource.h
|
| index 24db9ae9e8a6fde1f9911486acacebe495eaa289..8bf27cd6791602b91b610269e4969227ba28592e 100644
|
| --- a/Source/core/fetch/Resource.h
|
| +++ b/Source/core/fetch/Resource.h
|
| @@ -23,6 +23,7 @@
|
| #ifndef Resource_h
|
| #define Resource_h
|
|
|
| +#include "core/fetch/CachedMetadataHandler.h"
|
| #include "core/fetch/ResourceLoaderOptions.h"
|
| #include "platform/Timer.h"
|
| #include "platform/network/ResourceError.h"
|
| @@ -83,11 +84,6 @@ public:
|
| DecodeError
|
| };
|
|
|
| - enum MetadataCacheType {
|
| - SendToPlatform, // send cache data to blink::Platform::cacheMetadata
|
| - CacheLocally // cache only in Resource's member variables
|
| - };
|
| -
|
| Resource(const ResourceRequest&, Type);
|
| #if ENABLE(OILPAN)
|
| virtual ~Resource();
|
| @@ -198,16 +194,8 @@ public:
|
| // Sets the serialized metadata retrieved from the platform's cache.
|
| virtual void setSerializedCachedMetadata(const char*, size_t);
|
|
|
| - // Caches the given metadata in association with this resource and suggests
|
| - // that the platform persist it. The dataTypeID is a pseudo-randomly chosen
|
| - // identifier that is used to distinguish data generated by the caller.
|
| - void setCachedMetadata(unsigned dataTypeID, const char*, size_t, MetadataCacheType = SendToPlatform);
|
| -
|
| - // Reset existing metadata, to allow setting new data.
|
| - void clearCachedMetadata(MetadataCacheType = CacheLocally);
|
| -
|
| - // Returns cached metadata of the given type associated with this resource.
|
| - CachedMetadata* cachedMetadata(unsigned dataTypeID) const;
|
| + // This may return nullptr when the resource isn't cacheable.
|
| + CachedMetadataHandler* cacheHandler();
|
|
|
| bool hasOneHandle() const;
|
| bool canDelete() const;
|
| @@ -351,6 +339,7 @@ protected:
|
| Timer<Resource> m_cancelTimer;
|
|
|
| private:
|
| + class CacheHandler;
|
| bool addClientToSet(ResourceClient*);
|
| void cancelTimerFired(Timer<Resource>*);
|
|
|
| @@ -363,9 +352,14 @@ private:
|
|
|
| void failBeforeStarting();
|
|
|
| + void setCachedMetadata(unsigned dataTypeID, const char*, size_t, CachedMetadataHandler::CacheType);
|
| + void clearCachedMetadata(CachedMetadataHandler::CacheType);
|
| + CachedMetadata* cachedMetadata(unsigned dataTypeID) const;
|
| +
|
| String m_fragmentIdentifierForRequest;
|
|
|
| RefPtr<CachedMetadata> m_cachedMetadata;
|
| + OwnPtr<CacheHandler> m_cacheHandler;
|
|
|
| ResourceError m_error;
|
|
|
|
|