| Index: third_party/WebKit/Source/core/fetch/Resource.cpp
|
| diff --git a/third_party/WebKit/Source/core/fetch/Resource.cpp b/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| index 20b69e38de6bd385ea801e11c98a8aafe177faef..0ff2bb809716f64697148de0abb1fc729df91eb5 100644
|
| --- a/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/Resource.cpp
|
| @@ -109,6 +109,8 @@ public:
|
| // Sets the serialized metadata retrieved from the platform's cache.
|
| void setSerializedCachedMetadata(const char*, size_t);
|
|
|
| + void prune() override;
|
| +
|
| protected:
|
| explicit CachedMetadataHandlerImpl(Resource*);
|
| virtual void sendToPlatform();
|
| @@ -180,6 +182,11 @@ void Resource::CachedMetadataHandlerImpl::sendToPlatform()
|
| }
|
| }
|
|
|
| +void Resource::CachedMetadataHandlerImpl::prune()
|
| +{
|
| + clearCachedMetadata(CachedMetadataHandler::CacheLocally);
|
| +}
|
| +
|
| class Resource::ServiceWorkerResponseCachedMetadataHandler : public Resource::CachedMetadataHandlerImpl {
|
| public:
|
| static Resource::CachedMetadataHandlerImpl* create(Resource* resource, SecurityOrigin* securityOrigin)
|
| @@ -828,6 +835,8 @@ void Resource::finishPendingClients()
|
| void Resource::prune()
|
| {
|
| destroyDecodedDataIfPossible();
|
| + if (m_cacheHandler)
|
| + m_cacheHandler->prune();
|
| unlock();
|
| }
|
|
|
|
|