Index: Source/modules/cachestorage/GlobalCacheStorage.cpp |
diff --git a/Source/modules/cachestorage/GlobalCacheStorage.cpp b/Source/modules/cachestorage/GlobalCacheStorage.cpp |
index 00f04e397233ab88f91da4ed6a85e2fed2be3485..b436b9a78c3cf40068d0d197fb4d6b89f4b7f32a 100644 |
--- a/Source/modules/cachestorage/GlobalCacheStorage.cpp |
+++ b/Source/modules/cachestorage/GlobalCacheStorage.cpp |
@@ -33,6 +33,12 @@ public: |
return *supplement; |
} |
+ ~GlobalCacheStorageImpl() |
+ { |
+ if (m_caches) |
+ m_caches->dispose(); |
+ } |
+ |
CacheStorage* caches(T& fetchingScope, ExceptionState& exceptionState) |
{ |
ExecutionContext* context = fetchingScope.executionContext(); |
@@ -54,6 +60,8 @@ public: |
return m_caches; |
} |
+ // Promptly dispose of associated CacheStorage. |
+ EAGERLY_FINALIZE(); |
DEFINE_INLINE_VIRTUAL_TRACE() |
{ |
visitor->trace(m_caches); |