| 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);
|
|
|