Chromium Code Reviews| Index: third_party/WebKit/Source/core/fetch/ImageResource.cpp |
| diff --git a/third_party/WebKit/Source/core/fetch/ImageResource.cpp b/third_party/WebKit/Source/core/fetch/ImageResource.cpp |
| index 67abfc4a4ef71e2e5d06b0d7d1415ca037439650..a29be2ffa4ab1b027af47789b9ba102424349b11 100644 |
| --- a/third_party/WebKit/Source/core/fetch/ImageResource.cpp |
| +++ b/third_party/WebKit/Source/core/fetch/ImageResource.cpp |
| @@ -367,7 +367,9 @@ void ImageResource::updateImage(bool allDataReceived) |
| // to decode. |
| if (sizeAvailable || allDataReceived) { |
| if (!m_image || m_image->isNull()) { |
| - error(errorOccurred() ? getStatus() : DecodeError); |
| + if (!errorOccurred()) |
| + setStatus(DecodeError); |
| + clear(); |
|
hiroshige
2016/05/02 07:31:23
checkNotify() and markClientsAndObserversFinished(
Nate Chapin
2016/05/02 19:32:24
I think this just means that ResourceLoader will k
yhirano
2016/05/06 10:06:03
Is it desirable to cancel loading in such a case?
|
| if (memoryCache()->contains(this)) |
| memoryCache()->remove(this); |
| return; |
| @@ -379,7 +381,7 @@ void ImageResource::updateImage(bool allDataReceived) |
| } |
| } |
| -void ImageResource::finish() |
| +void ImageResource::finish(double loadFinishTime) |
| { |
| if (m_multipartParser) { |
| m_multipartParser->finish(); |
| @@ -391,15 +393,15 @@ void ImageResource::finish() |
| } else { |
| updateImage(true); |
| } |
| - Resource::finish(); |
| + Resource::finish(loadFinishTime); |
| } |
| -void ImageResource::error(Resource::Status status) |
| +void ImageResource::error(const ResourceError& error) |
| { |
| if (m_multipartParser) |
| m_multipartParser->cancel(); |
| clear(); |
| - Resource::error(status); |
| + Resource::error(error); |
| notifyObservers(); |
| } |
| @@ -498,7 +500,13 @@ void ImageResource::reloadIfLoFi(ResourceFetcher* fetcher) |
| return; |
| m_resourceRequest.setCachePolicy(WebCachePolicy::BypassingCache); |
| m_resourceRequest.setLoFiState(WebURLRequest::LoFiOff); |
| - error(Resource::LoadError); |
| + if (isLoading()) { |
|
Nate Chapin
2016/04/28 18:10:27
I'm not sure if this more complicated if/else bloc
hiroshige
2016/05/02 07:31:23
In this case, Resource::error() is called via Reso
Nate Chapin
2016/05/02 19:32:24
Correct.
|
| + m_loader->cancel(); |
| + } else { |
| + clear(); |
| + m_data.clear(); |
| + notifyObservers(); |
|
Nate Chapin
2016/04/28 18:10:27
I'm not 100% all of these are necessary, but it em
hiroshige
2016/05/02 07:31:23
This CL seems to split "something" from error(), a
Nate Chapin
2016/05/02 19:32:24
Ok, I modified this block slightly and pulled it o
|
| + } |
| setStatus(NotStarted); |
| load(fetcher); |
| } |