| Index: Source/core/loader/cache/ResourceFetcher.cpp
|
| diff --git a/Source/core/loader/cache/ResourceFetcher.cpp b/Source/core/loader/cache/ResourceFetcher.cpp
|
| index fb388beed5c03e521338bd717c2e6625d473488d..0efc5c1f45e7e18fad3de9a4c97d389ec68cdc96 100644
|
| --- a/Source/core/loader/cache/ResourceFetcher.cpp
|
| +++ b/Source/core/loader/cache/ResourceFetcher.cpp
|
| @@ -502,12 +502,11 @@ CachedResourceHandle<CachedResource> ResourceFetcher::requestResource(CachedReso
|
| }
|
|
|
| if ((policy != Use || resource->stillNeedsLoad()) && FetchRequest::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()) {
|
| + if (resource->inCache())
|
| + memoryCache()->remove(resource.get());
|
| return 0;
|
| + }
|
|
|
| if (!m_documentLoader->scheduleArchiveLoad(resource.get(), request.resourceRequest()))
|
| resource->load(this, request.options());
|
|
|