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

Unified Diff: third_party/WebKit/Source/core/loader/resource/ImageResource.cpp

Issue 2746343002: Phase III Step 1: Make ImageResourceContent manage its own ResourceStatus (Closed)
Patch Set: Rewind Created 3 years, 9 months 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/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 72ba9c70ac1f63e289b776581af42449720469bf..4bfa4c1ec7e7c4ab368103b0d99044716b3c7d24 100644
--- a/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
+++ b/third_party/WebKit/Source/core/loader/resource/ImageResource.cpp
@@ -79,7 +79,6 @@ class ImageResource::ImageResourceInfoImpl final
const ResourceResponse& response() const override {
return m_resource->response();
}
- ResourceStatus getStatus() const override { return m_resource->getStatus(); }
bool shouldShowPlaceholder() const override {
return m_resource->shouldShowPlaceholder();
}
@@ -334,8 +333,8 @@ void ImageResource::decodeError(bool allDataReceived) {
loader()->didFinishLoading(monotonicallyIncreasingTime(), size, size);
} else if (getContent()) {
auto result = getContent()->updateImage(
- nullptr, ImageResourceContent::ClearImageAndNotifyObservers,
- allDataReceived);
+ nullptr, getStatus(),
+ ImageResourceContent::ClearImageAndNotifyObservers, allDataReceived);
DCHECK_EQ(result, ImageResourceContent::UpdateImageResult::NoDecodeError);
}
@@ -347,6 +346,13 @@ void ImageResource::updateImageAndClearBuffer() {
clearData();
}
+void ImageResource::notifyStartLoad() {
+ if (!getContent())
+ return;
+ CHECK_EQ(getStatus(), ResourceStatus::Pending);
+ getContent()->notifyStartLoad();
+}
+
void ImageResource::finish(double loadFinishTime) {
if (m_multipartParser) {
m_multipartParser->finish();
@@ -591,7 +597,7 @@ void ImageResource::updateImage(
bool allDataReceived) {
if (!getContent())
return;
- auto result = getContent()->updateImage(std::move(sharedBuffer),
+ auto result = getContent()->updateImage(std::move(sharedBuffer), getStatus(),
updateImageOption, allDataReceived);
if (result == ImageResourceContent::UpdateImageResult::ShouldDecodeError) {
// TODO before commit (hiroshige): Update the comment.

Powered by Google App Engine
This is Rietveld 408576698