Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(593)

Unified Diff: Source/core/fetch/ResourceFetcher.cpp

Issue 166633002: Prefetch @import files from CSS files. Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/fetch/ResourceFetcher.cpp
diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
index cc6338bf996c3343aacd4b9733d72828ccea0f32..b872da21e18b5d2e5bea8e7705762220a4963527 100644
--- a/Source/core/fetch/ResourceFetcher.cpp
+++ b/Source/core/fetch/ResourceFetcher.cpp
@@ -73,13 +73,13 @@
namespace WebCore {
-static Resource* createResource(Resource::Type type, const ResourceRequest& request, const String& charset)
+static Resource* createResource(Resource::Type type, const ResourceRequest& request, const String& charset, Document* document)
{
switch (type) {
case Resource::Image:
return new ImageResource(request);
case Resource::CSSStyleSheet:
- return new CSSStyleSheetResource(request, charset);
+ return new CSSStyleSheetResource(request, charset, document);
case Resource::Script:
return new ScriptResource(request, charset);
case Resource::SVGDocument:
@@ -156,7 +156,7 @@ static Resource* resourceFromDataURIRequest(const ResourceRequest& request, cons
return 0;
ResourceResponse response(url, mimetype, data->size(), charset, String());
- Resource* resource = createResource(Resource::Image, request, charset);
+ Resource* resource = createResource(Resource::Image, request, charset, 0);
resource->setOptions(resourceOptions);
resource->responseReceived(response);
if (data->size())
@@ -383,7 +383,7 @@ void ResourceFetcher::preCacheSubstituteDataForMainResource(const FetchRequest&
memoryCache()->remove(oldResource);
ResourceResponse response(url, substituteData.mimeType(), substituteData.content()->size(), substituteData.textEncoding(), emptyString());
- ResourcePtr<Resource> resource = createResource(Resource::MainResource, request.resourceRequest(), substituteData.textEncoding());
+ ResourcePtr<Resource> resource = createResource(Resource::MainResource, request.resourceRequest(), substituteData.textEncoding(), document());
resource->setNeedsSynchronousCacheHit(substituteData.forceSynchronousLoad());
resource->setOptions(request.options());
resource->setDataBufferingPolicy(BufferData);
@@ -796,7 +796,7 @@ ResourcePtr<Resource> ResourceFetcher::revalidateResource(const FetchRequest& re
revalidatingRequest.setHTTPHeaderField("If-None-Match", eTag);
}
- ResourcePtr<Resource> newResource = createResource(resource->type(), revalidatingRequest, resource->encoding());
+ ResourcePtr<Resource> newResource = createResource(resource->type(), revalidatingRequest, resource->encoding(), document());
WTF_LOG(ResourceLoading, "Resource %p created to revalidate %p", newResource.get(), resource);
newResource->setResourceToRevalidate(resource);
@@ -815,7 +815,7 @@ ResourcePtr<Resource> ResourceFetcher::loadResource(Resource::Type type, FetchRe
WTF_LOG(ResourceLoading, "Loading Resource for '%s'.", request.resourceRequest().url().elidedString().latin1().data());
addAdditionalRequestHeaders(request.mutableResourceRequest(), type);
- ResourcePtr<Resource> resource = createResource(type, request.mutableResourceRequest(), charset);
+ ResourcePtr<Resource> resource = createResource(type, request.mutableResourceRequest(), charset, document());
memoryCache()->add(resource.get());
storeResourceTimingInitiatorInformation(resource, request);
« Source/core/fetch/CSSStyleSheetResource.cpp ('K') | « Source/core/fetch/CSSStyleSheetResource.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698