diff options
Diffstat (limited to 'WebCore/loader/CachedResource.h')
-rw-r--r-- | WebCore/loader/CachedResource.h | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/WebCore/loader/CachedResource.h b/WebCore/loader/CachedResource.h index babdf89..05d24fc 100644 --- a/WebCore/loader/CachedResource.h +++ b/WebCore/loader/CachedResource.h @@ -129,7 +129,7 @@ public: // while still being referenced. This means the object should delete itself // if the number of clients observing it ever drops to 0. // The resource can be brought back to cache after successful revalidation. - void setInCache(bool b) { m_inCache = b; if (b) m_isBeingRevalidated = false; } + void setInCache(bool inCache) { m_inCache = inCache; } bool inCache() const { return m_inCache; } void setInLiveDecodedResourcesList(bool b) { m_inLiveDecodedResourcesList = b; } @@ -142,7 +142,7 @@ public: void setResponse(const ResourceResponse&); const ResourceResponse& response() const { return m_response; } - bool canDelete() const { return !hasClients() && !m_request && !m_preloadCount && !m_handleCount && !m_resourceToRevalidate && !m_isBeingRevalidated; } + bool canDelete() const { return !hasClients() && !m_request && !m_preloadCount && !m_handleCount && !m_resourceToRevalidate && !m_proxyResource; } bool isExpired() const; @@ -251,7 +251,10 @@ private: // to to be clients of m_resourceToRevalidate and the resource is deleted. If not, the field is zeroed and this // resources becomes normal resource load. CachedResource* m_resourceToRevalidate; - bool m_isBeingRevalidated; + + // If this field is non-null, the resource has a proxy for checking whether it is still up to date (see m_resourceToRevalidate). + CachedResource* m_proxyResource; + // These handles will need to be updated to point to the m_resourceToRevalidate in case we get 304 response. HashSet<CachedResourceHandleBase*> m_handlesToRevalidate; }; |