Chromium Code Reviews| Index: Source/core/loader/cache/CachedResourceLoader.cpp |
| diff --git a/Source/core/loader/cache/CachedResourceLoader.cpp b/Source/core/loader/cache/CachedResourceLoader.cpp |
| index d06f008c4085c53f49718bea157d282278a22822..c2c8fff0318d23cd64c675fe0482975764455f2e 100644 |
| --- a/Source/core/loader/cache/CachedResourceLoader.cpp |
| +++ b/Source/core/loader/cache/CachedResourceLoader.cpp |
| @@ -500,12 +500,11 @@ CachedResourceHandle<CachedResource> CachedResourceLoader::requestResource(Cache |
| } |
| if ((policy != Use || resource->stillNeedsLoad()) && CachedResourceRequest::NoDefer == request.defer()) { |
| - if (!frame()) |
| - return 0; |
| - |
| - FrameLoader* frameLoader = this->frameLoader(); |
| - if (request.options().securityCheck == DoSecurityCheck && (frameLoader->state() == FrameStateProvisional || !frameLoader->activeDocumentLoader() || frameLoader->activeDocumentLoader()->isStopping())) |
| + if (!frame() || m_documentLoader != frame()->loader()->activeDocumentLoader() || m_documentLoader->isStopping()) { |
|
Nate Chapin
2013/07/23 23:13:17
I believe the last 2 cases are a more succinct and
|
| + if (resource->inCache()) |
| + memoryCache()->remove(resource.get()); |
| return 0; |
| + } |
| if (!m_documentLoader->scheduleArchiveLoad(resource.get(), request.resourceRequest())) |
| resource->load(this, request.options()); |