Chromium Code Reviews| Index: third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
| diff --git a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
| index a13e82a11c591caf0bdbe09c065d5bd08e950a04..57e7a497df221e5ce82cdc64b2340ed6c12d6d9c 100644 |
| --- a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
| +++ b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp |
| @@ -237,7 +237,10 @@ void ImageResource::didAddClient(ResourceClient* client) { |
| } |
| void ImageResource::destroyDecodedDataForFailedRevalidation() { |
| - getContent()->clearImage(); |
| + // Clears the image, as we must create a new image for the failed |
| + // revalidation response. |
| + getContent()->updateImage(nullptr, ImageResourceContent::ClearAndUpdateImage, |
|
yhirano
2016/12/19 11:50:26
Isn't this ClearImageOnly?
hiroshige
2016/12/19 22:51:50
No.
Here, we want to clear the image without notif
yhirano
2016/12/20 12:09:16
Then I think the enum naming is confusing - ClearI
|
| + false); |
| setDecodedSize(0); |
| } |
| @@ -282,8 +285,8 @@ void ImageResource::appendData(const char* data, size_t length) { |
| // Update the image immediately if needed. |
| if (getContent()->shouldUpdateImageImmediately()) { |
| - getContent()->updateImage(this->data(), |
| - ImageResourceContent::KeepExistingImage, false); |
| + getContent()->updateImage(this->data(), ImageResourceContent::UpdateImage, |
| + false); |
| return; |
| } |
| @@ -311,8 +314,8 @@ void ImageResource::flushImageIfNeeded(TimerBase*) { |
| // to call |updateImage()|. |
| if (isLoading()) { |
| m_lastFlushTime = WTF::monotonicallyIncreasingTime(); |
| - getContent()->updateImage(this->data(), |
| - ImageResourceContent::KeepExistingImage, false); |
| + getContent()->updateImage(this->data(), ImageResourceContent::UpdateImage, |
| + false); |
| } |
| } |
| @@ -337,7 +340,7 @@ void ImageResource::decodeError(bool allDataReceived) { |
| } |
| void ImageResource::updateImageAndClearBuffer() { |
| - getContent()->updateImage(data(), ImageResourceContent::ClearExistingImage, |
| + getContent()->updateImage(data(), ImageResourceContent::ClearAndUpdateImage, |
| true); |
| clearData(); |
| } |
| @@ -348,8 +351,7 @@ void ImageResource::finish(double loadFinishTime) { |
| if (data()) |
| updateImageAndClearBuffer(); |
| } else { |
| - getContent()->updateImage(data(), ImageResourceContent::KeepExistingImage, |
| - true); |
| + getContent()->updateImage(data(), ImageResourceContent::UpdateImage, true); |
| // As encoded image data can be created from m_image (see |
| // ImageResource::resourceBuffer(), we don't have to keep m_data. Let's |
| // clear this. As for the lifetimes of m_image and m_data, see this |
| @@ -367,8 +369,8 @@ void ImageResource::error(const ResourceError& error) { |
| // is really needed, or remove it otherwise. |
| setEncodedSize(0); |
| Resource::error(error); |
| - getContent()->clearImageAndNotifyObservers( |
| - ImageResourceContent::ShouldNotifyFinish); |
| + getContent()->updateImage(nullptr, ImageResourceContent::ClearImageOnly, |
| + true); |
| } |
| void ImageResource::responseReceived( |
| @@ -437,8 +439,8 @@ void ImageResource::reloadIfLoFiOrPlaceholderImage( |
| } else { |
| clearData(); |
| setEncodedSize(0); |
| - getContent()->clearImageAndNotifyObservers( |
| - ImageResourceContent::DoNotNotifyFinish); |
| + getContent()->updateImage(nullptr, ImageResourceContent::ClearImageOnly, |
| + false); |
| } |
| setStatus(NotStarted); |