| 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 048e1018c6cec0784fa2077e199aeb2a61249805..adacfcb35e94fdcefeea1ec8e005821e01227ddc 100644
|
| --- a/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp
|
| +++ b/third_party/WebKit/Source/core/fetch/ResourceLoader.cpp
|
| @@ -180,7 +180,6 @@ void ResourceLoader::cancel(const ResourceError& error)
|
|
|
| WTF_LOG(ResourceLoading, "Cancelled load of '%s'.\n", m_resource->url().getString().latin1().data());
|
| m_state = ConnectionStateCanceled;
|
| - m_resource->setResourceError(nonNullError);
|
|
|
| // If we don't immediately clear m_loader when cancelling, we might get
|
| // unexpected reentrancy. m_resource->error() can trigger JS events, which
|
| @@ -200,7 +199,7 @@ void ResourceLoader::cancel(const ResourceError& error)
|
| }
|
|
|
| if (m_state != ConnectionStateReleased)
|
| - m_resource->error(Resource::LoadError);
|
| + m_resource->error(nonNullError);
|
| if (m_state != ConnectionStateReleased)
|
| releaseResources();
|
| }
|
| @@ -287,14 +286,6 @@ void ResourceLoader::didReceiveResponse(WebURLLoader*, const WebURLResponse& res
|
|
|
| if (m_resource->response().httpStatusCode() < 400 || m_resource->shouldIgnoreHTTPStatusCodeErrors())
|
| return;
|
| -
|
| - if (!m_notifiedLoadComplete) {
|
| - m_notifiedLoadComplete = true;
|
| - m_fetcher->didFailLoading(m_resource.get(), ResourceError::cancelledError(resourceResponse.url()));
|
| - }
|
| -
|
| - ASSERT(m_state != ConnectionStateReleased);
|
| - m_resource->error(Resource::LoadError);
|
| cancel(ResourceError::cancelledError(resourceResponse.url()));
|
| }
|
|
|
| @@ -329,12 +320,10 @@ void ResourceLoader::didFinishLoading(WebURLLoader*, double finishTime, int64_t
|
| RELEASE_ASSERT(m_state == ConnectionStateReceivedResponse || m_state == ConnectionStateReceivingData);
|
| m_state = ConnectionStateFinishedLoading;
|
| WTF_LOG(ResourceLoading, "Received '%s'.", m_resource->url().getString().latin1().data());
|
| -
|
| - m_resource->setLoadFinishTime(finishTime);
|
| didFinishLoadingOnePart(finishTime, encodedDataLength);
|
| if (m_state == ConnectionStateReleased)
|
| return;
|
| - m_resource->finish();
|
| + m_resource->finish(finishTime);
|
|
|
| // If the load has been cancelled by a delegate in response to didFinishLoad(), do not release
|
| // the resources a second time, they have been released by cancel.
|
| @@ -349,9 +338,6 @@ void ResourceLoader::didFail(WebURLLoader*, const WebURLError& error)
|
| ASSERT(m_state != ConnectionStateReleased);
|
| m_state = ConnectionStateFailed;
|
| WTF_LOG(ResourceLoading, "Failed to load '%s'.\n", m_resource->url().getString().latin1().data());
|
| -
|
| - m_resource->setResourceError(error);
|
| -
|
| if (!m_notifiedLoadComplete) {
|
| m_notifiedLoadComplete = true;
|
| m_fetcher->didFailLoading(m_resource.get(), error);
|
| @@ -359,7 +345,7 @@ void ResourceLoader::didFail(WebURLLoader*, const WebURLError& error)
|
| if (m_state == ConnectionStateReleased)
|
| return;
|
|
|
| - m_resource->error(Resource::LoadError);
|
| + m_resource->error(error);
|
|
|
| if (m_state == ConnectionStateReleased)
|
| return;
|
|
|