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

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

Issue 2487763003: [ImageLoader 2d] Set DecodeError by calling ResourceLoader::cancel()
Patch Set: Rebase Created 4 years, 1 month 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: third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
diff --git a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
index 4d8e561134505287d5ee1a3298b547b8e201a085..f3dbceaa395a06b798ce687d92c755526916e843 100644
--- a/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
+++ b/third_party/WebKit/Source/core/fetch/ResourceFetcher.cpp
@@ -439,7 +439,8 @@ Resource* ResourceFetcher::resourceForBlockedRequest(
const ResourceFactory& factory) {
Resource* resource = factory.create(request.resourceRequest(),
request.options(), request.charset());
- resource->error(ResourceError::cancelledDueToAccessCheckError(request.url()));
+ resource->error(ResourceError::cancelledDueToAccessCheckError(request.url()),
+ Resource::LoadError);
return resource;
}
@@ -1169,14 +1170,16 @@ void ResourceFetcher::didFinishLoading(Resource* resource,
}
void ResourceFetcher::didFailLoading(Resource* resource,
- const ResourceError& error) {
+ const ResourceError& error,
+ Resource::Status errorStatus) {
TRACE_EVENT_ASYNC_END0("blink.net", "Resource", resource->identifier());
removeResourceLoader(resource->loader());
m_resourceTimingInfoMap.take(const_cast<Resource*>(resource));
bool isInternalRequest = resource->options().initiatorInfo.name ==
FetchInitiatorTypeNames::internal;
- context().dispatchDidFail(resource->identifier(), error, isInternalRequest);
- resource->error(error);
+ context().dispatchDidFail(resource->identifier(), error, isInternalRequest,
+ errorStatus == Resource::DecodeError);
+ resource->error(error, errorStatus);
context().didLoadResource(resource);
if (resource->isImage() &&
@@ -1221,13 +1224,15 @@ void ResourceFetcher::didReceiveResponse(Resource* resource,
resource->resourceRequest(), originalURL,
resource->options())) {
resource->loader()->didFail(
- ResourceError::cancelledDueToAccessCheckError(originalURL));
+ ResourceError::cancelledDueToAccessCheckError(originalURL),
+ Resource::LoadError);
return;
}
} else if (resource->options().corsEnabled == IsCORSEnabled &&
!canAccessResponse(resource, response)) {
resource->loader()->didFail(
- ResourceError::cancelledDueToAccessCheckError(response.url()));
+ ResourceError::cancelledDueToAccessCheckError(response.url()),
+ Resource::LoadError);
return;
}
@@ -1237,7 +1242,8 @@ void ResourceFetcher::didReceiveResponse(Resource* resource,
resource->responseReceived(response, std::move(handle));
if (resource->loader() && response.httpStatusCode() >= 400 &&
!resource->shouldIgnoreHTTPStatusCodeErrors()) {
- resource->loader()->didFail(ResourceError::cancelledError(response.url()));
+ resource->loader()->didFail(ResourceError::cancelledError(response.url()),
+ Resource::LoadError);
}
}
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ResourceFetcher.h ('k') | third_party/WebKit/Source/core/fetch/ResourceLoader.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698