| Index: Source/core/fetch/ResourceLoader.cpp
|
| diff --git a/Source/core/fetch/ResourceLoader.cpp b/Source/core/fetch/ResourceLoader.cpp
|
| index 9cf69a6f9982d80cc68c56cb436d03214298dee6..ce970227c1985141343f4b35fb2f283b65431f5a 100644
|
| --- a/Source/core/fetch/ResourceLoader.cpp
|
| +++ b/Source/core/fetch/ResourceLoader.cpp
|
| @@ -346,10 +346,12 @@ bool ResourceLoader::responseNeedsAccessControlCheck() const
|
| return m_options.corsEnabled == IsCORSEnabled;
|
| }
|
|
|
| -void ResourceLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebURLResponse& response)
|
| +void ResourceLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebURLResponse& response, WebDataConsumerHandle* rawHandle)
|
| {
|
| ASSERT(!response.isNull());
|
| ASSERT(m_state == Initialized);
|
| + // |rawHandle|'s ownership is transferred to the callee.
|
| + OwnPtr<WebDataConsumerHandle> handle = adoptPtr(rawHandle);
|
|
|
| bool isMultipartPayload = response.isMultipartPayload();
|
| bool isValidStateTransition = (m_connectionState == ConnectionStateStarted || m_connectionState == ConnectionStateReceivedResponse);
|
| @@ -393,7 +395,7 @@ void ResourceLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebUR
|
| // Reference the object in this method since the additional processing can do
|
| // anything including removing the last reference to this object.
|
| RefPtrWillBeRawPtr<ResourceLoader> protect(this);
|
| - m_resource->responseReceived(resourceResponse);
|
| + m_resource->responseReceived(resourceResponse, handle.release());
|
| if (m_state == Terminated)
|
| return;
|
|
|
| @@ -432,6 +434,11 @@ void ResourceLoader::didReceiveResponse(blink::WebURLLoader*, const blink::WebUR
|
| cancel();
|
| }
|
|
|
| +void ResourceLoader::didReceiveResponse(blink::WebURLLoader* loader, const blink::WebURLResponse& response)
|
| +{
|
| + didReceiveResponse(loader, response, nullptr);
|
| +}
|
| +
|
| void ResourceLoader::didReceiveData(blink::WebURLLoader*, const char* data, int length, int encodedDataLength)
|
| {
|
| ASSERT(m_state != Terminated);
|
|
|