Index: Source/core/fetch/Resource.cpp |
diff --git a/Source/core/fetch/Resource.cpp b/Source/core/fetch/Resource.cpp |
index c728f37605973ed619aa0fff404a63f76243168a..ae04c99d0744254b7338f33bf1b7512a723fc7fb 100644 |
--- a/Source/core/fetch/Resource.cpp |
+++ b/Source/core/fetch/Resource.cpp |
@@ -507,13 +507,14 @@ void Resource::removeClient(ResourceClient* client) |
} |
if (!m_switchingClientsToRevalidatedResource) |
allClientsRemoved(); |
- if (response().cacheControlContainsNoStore()) { |
- // RFC2616 14.9.2: |
- // "no-store: ... MUST make a best-effort attempt to remove the information from volatile storage as promptly as possible" |
- // "... History buffers MAY store such responses as part of their normal operation." |
- // We allow non-secure content to be reused in history, but we do not allow secure content to be reused. |
- if (url().protocolIs("https")) |
- memoryCache()->remove(this); |
+ |
+ // RFC2616 14.9.2: |
+ // "no-store: ... MUST make a best-effort attempt to remove the information from volatile storage as promptly as possible" |
+ // "... History buffers MAY store such responses as part of their normal operation." |
+ // We allow non-secure content to be reused in history, but we do not allow secure content to be reused. |
+ if (response().cacheControlContainsNoStore() && url().protocolIs("https")) { |
+ memoryCache()->remove(this); |
+ memoryCache()->prune(); |
Nate Chapin
2014/02/18 21:35:54
I think it's safe to call prune(this) after removi
|
} else { |
memoryCache()->prune(this); |
} |