Diff
Modified: trunk/Source/WebCore/ChangeLog (87678 => 87679)
--- trunk/Source/WebCore/ChangeLog 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/ChangeLog 2011-05-30 07:45:41 UTC (rev 87679)
@@ -1,3 +1,23 @@
+2011-05-30 Nate Chapin <jap...@chromium.org>
+
+ Reviewed by Antti Koivisto.
+
+ Refactor the CachedResourceLoader -> CachedResource -> CachedResourceRequest
+ flow so it's a little less circular.
+ https://bugs.webkit.org/show_bug.cgi?id=61666
+
+ * loader/cache/CachedFont.cpp:
+ (WebCore::CachedFont::beginLoadIfNeeded):
+ * loader/cache/CachedResource.cpp:
+ (WebCore::CachedResource::load):
+ * loader/cache/CachedResourceLoader.cpp:
+ (WebCore::CachedResourceLoader::requestImage):
+ (WebCore::CachedResourceLoader::setAutoLoadImages):
+ (WebCore::CachedResourceLoader::loadStarted):
+ * loader/cache/CachedResourceLoader.h:
+ * loader/cache/CachedResourceRequest.cpp:
+ (WebCore::CachedResourceRequest::load):
+
2011-05-30 Sheriff Bot <webkit.review....@gmail.com>
Unreviewed, rolling out r87618.
Modified: trunk/Source/WebCore/loader/cache/CachedFont.cpp (87678 => 87679)
--- trunk/Source/WebCore/loader/cache/CachedFont.cpp 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/loader/cache/CachedFont.cpp 2011-05-30 07:45:41 UTC (rev 87679)
@@ -97,7 +97,7 @@
{
if (!m_loadInitiated) {
m_loadInitiated = true;
- dl->load(this, false);
+ CachedResource::load(dl);
}
}
Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (87678 => 87679)
--- trunk/Source/WebCore/loader/cache/CachedResource.cpp 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp 2011-05-30 07:45:41 UTC (rev 87679)
@@ -135,8 +135,10 @@
void CachedResource::load(CachedResourceLoader* cachedResourceLoader, bool incremental, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks)
{
m_sendResourceLoadCallbacks = sendResourceLoadCallbacks;
- cachedResourceLoader->load(this, incremental, securityCheck, sendResourceLoadCallbacks);
m_loading = true;
+ RefPtr<CachedResourceRequest> request = CachedResourceRequest::load(cachedResourceLoader, this, incremental, securityCheck, sendResourceLoadCallbacks);
+ if (request)
+ cachedResourceLoader->loadStarted(this, request);
}
void CachedResource::checkNotify()
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp (87678 => 87679)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp 2011-05-30 07:45:41 UTC (rev 87679)
@@ -139,10 +139,8 @@
}
}
CachedImage* resource = static_cast<CachedImage*>(requestResource(CachedResource::ImageResource, request, String()));
- if (autoLoadImages() && resource && resource->stillNeedsLoad()) {
- resource->setLoading(true);
- load(resource, true);
- }
+ if (autoLoadImages() && resource && resource->stillNeedsLoad())
+ resource->load(this);
return resource;
}
@@ -536,7 +534,7 @@
CachedImage* image = const_cast<CachedImage*>(static_cast<const CachedImage*>(resource));
if (image->stillNeedsLoad())
- load(image, true);
+ image->load(this);
}
}
}
@@ -556,13 +554,11 @@
m_documentResources.remove(resource->url());
}
-void CachedResourceLoader::load(CachedResource* resource, bool incremental, SecurityCheckPolicy securityCheck, bool sendResourceLoadCallbacks)
+void CachedResourceLoader::loadStarted(CachedResource* resource, PassRefPtr<CachedResourceRequest> request)
{
+ ASSERT(request);
incrementRequestCount(resource);
-
- RefPtr<CachedResourceRequest> request = CachedResourceRequest::load(this, resource, incremental, securityCheck, sendResourceLoadCallbacks);
- if (request)
- m_requests.add(request);
+ m_requests.add(request);
}
void CachedResourceLoader::loadDone(CachedResourceRequest* request)
Modified: trunk/Source/WebCore/loader/cache/CachedResourceLoader.h (87678 => 87679)
--- trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/loader/cache/CachedResourceLoader.h 2011-05-30 07:45:41 UTC (rev 87679)
@@ -92,7 +92,7 @@
void removeCachedResource(CachedResource*) const;
- void load(CachedResource*, bool incremental = false, SecurityCheckPolicy = DoSecurityCheck, bool sendResourceLoadCallbacks = true);
+ void loadStarted(CachedResource*, PassRefPtr<CachedResourceRequest>);
void loadFinishing() { m_loadFinishing = true; }
void loadDone(CachedResourceRequest*);
void cancelRequests();
Modified: trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp (87678 => 87679)
--- trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp 2011-05-30 07:22:21 UTC (rev 87678)
+++ trunk/Source/WebCore/loader/cache/CachedResourceRequest.cpp 2011-05-30 07:45:41 UTC (rev 87679)
@@ -127,12 +127,9 @@
if (!loader || loader->reachedTerminalState()) {
// FIXME: What if resources in other frames were waiting for this revalidation?
LOG(ResourceLoading, "Cannot start loading '%s'", resource->url().string().latin1().data());
- cachedResourceLoader->decrementRequestCount(resource);
- cachedResourceLoader->loadFinishing();
if (resource->resourceToRevalidate())
memoryCache()->revalidationFailed(resource);
resource->error(CachedResource::LoadError);
- cachedResourceLoader->loadDone(0);
return 0;
}
request->m_loader = loader;