Index: third_party/WebKit/Source/core/fetch/ResourceLoader.cpp |
diff --git a/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp b/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp |
index a549bf6f92b6c0378965ddbf3d9873d8d4a42c01..6107296e428e20e3d55e334972bed1aba0f37b12 100644 |
--- a/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp |
@@ -51,7 +51,7 @@ |
namespace blink { |
-ResourceLoader* ResourceLoader::create(ResourceFetcher* fetcher, Resource* resource, ResourceRequest& request, const ResourceLoaderOptions& options) |
+ResourceLoader* ResourceLoader::create(ResourceFetcher* fetcher, Resource* resource, const ResourceRequest& request, const ResourceLoaderOptions& options) |
{ |
ResourceLoader* loader = new ResourceLoader(fetcher, resource, options); |
loader->init(request); |
@@ -103,13 +103,15 @@ |
m_fetcher.clear(); |
} |
-void ResourceLoader::init(ResourceRequest& request) |
-{ |
- ASSERT(m_state != Terminated); |
+void ResourceLoader::init(const ResourceRequest& passedRequest) |
+{ |
+ ASSERT(m_state != Terminated); |
+ ResourceRequest request(passedRequest); |
m_fetcher->willSendRequest(m_resource->identifier(), request, ResourceResponse(), m_options.initiatorInfo); |
ASSERT(m_state != Terminated); |
ASSERT(!request.isNull()); |
- m_request = applyOptions(request); |
+ m_originalRequest = m_request = applyOptions(request); |
+ m_resource->updateRequest(request); |
ASSERT(m_state != Terminated); |
m_fetcher->didInitializeResourceLoader(this); |
} |
@@ -274,10 +276,15 @@ |
applyOptions(newRequest); // canAccessRedirect() can modify m_options so we should re-apply it. |
m_fetcher->redirectReceived(m_resource, redirectResponse); |
- m_fetcher->willSendRequest(m_resource->identifier(), newRequest, redirectResponse, m_options.initiatorInfo); |
+ ASSERT(m_state != Terminated); |
m_resource->willFollowRedirect(newRequest, redirectResponse); |
if (newRequest.isNull() || m_state == Terminated) |
return; |
+ |
+ m_fetcher->willSendRequest(m_resource->identifier(), newRequest, redirectResponse, m_options.initiatorInfo); |
+ ASSERT(m_state != Terminated); |
+ ASSERT(!newRequest.isNull()); |
+ m_resource->updateRequest(newRequest); |
m_request = newRequest; |
} |