Chromium Code Reviews| 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); |
| } |