Index: Source/core/loader/cache/MemoryCache.h |
diff --git a/Source/core/loader/cache/MemoryCache.h b/Source/core/loader/cache/MemoryCache.h |
index 1d7d400ce2d4ce3ba465ada4f224ed193c3091ec..eed24f67fedae0b7d2624f0e432a2fad0eface14 100644 |
--- a/Source/core/loader/cache/MemoryCache.h |
+++ b/Source/core/loader/cache/MemoryCache.h |
@@ -25,6 +25,7 @@ |
#ifndef Cache_h |
#define Cache_h |
+#include "core/loader/cache/Resource.h" |
#include "wtf/HashMap.h" |
#include "wtf/Noncopyable.h" |
#include "wtf/Vector.h" |
@@ -119,6 +120,7 @@ public: |
// - maxDeadBytes: The maximum number of bytes that dead resources should consume when the cache is not under pressure. |
// - totalBytes: The maximum number of bytes that the cache should consume overall. |
void setCapacities(unsigned minDeadBytes, unsigned maxDeadBytes, unsigned totalBytes); |
+ void setDelayBeforeLiveDecodedPrune(unsigned seconds) { m_delayBeforeLiveDecodedPrune = seconds; } |
void evictResources(); |
@@ -173,6 +175,8 @@ private: |
unsigned m_capacity; |
unsigned m_minDeadCapacity; |
unsigned m_maxDeadCapacity; |
+ unsigned m_delayBeforeLiveDecodedPrune; |
+ double m_deadDecodedDataDeletionInterval; |
unsigned m_liveSize; // The number of bytes currently consumed by "live" resources in the cache. |
unsigned m_deadSize; // The number of bytes currently consumed by "dead" resources in the cache. |
@@ -182,8 +186,9 @@ private: |
// waiting to die when the clients referencing them go away. |
Vector<LRUList, 32> m_allResources; |
- // List just for live resources with decoded data. Access to this list is based off of painting the resource. |
- LRUList m_liveDecodedResources; |
+ // Lists just for live resources with decoded data. Access to this list is based off of painting the resource. |
+ // The lists are ordered by decode priority, with higher indices having higher priorities. |
+ LRUList m_liveDecodedResources[Resource::CacheLiveResourcePriorityHigh + 1]; |
// A URL-based map of all resources that are in the cache (including the freshest version of objects that are currently being |
// referenced by a Web page). |