Index: Source/core/fetch/ResourceLoader.cpp |
diff --git a/Source/core/fetch/ResourceLoader.cpp b/Source/core/fetch/ResourceLoader.cpp |
index 4390abe5146b793e94486a688616881c852e94de..5954fd198e8fed415264721c7b464bab15587d9d 100644 |
--- a/Source/core/fetch/ResourceLoader.cpp |
+++ b/Source/core/fetch/ResourceLoader.cpp |
@@ -347,7 +347,9 @@ |
// the access control with respect to it. Need to do this right here |
// before the resource switches clients over to that validated resource. |
Resource* resource = m_resource; |
- if (!resource->isCacheValidator() || resourceResponse.httpStatusCode() != 304) |
+ if (resource->isCacheValidator() && resourceResponse.httpStatusCode() == 304) |
+ resource = m_resource->resourceToRevalidate(); |
+ else |
m_resource->setResponse(resourceResponse); |
if (!m_fetcher->canAccessResource(resource, m_options.securityOrigin.get(), response.url(), ResourceFetcher::ShouldLogAccessControlErrors)) { |
m_fetcher->didReceiveResponse(m_resource, resourceResponse); |