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

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

Issue 1624583003: Reload Lo-Fi images inline instead of reloading the whole page (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added comment Created 4 years, 10 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/fetch/ImageResourceTest.cpp
diff --git a/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp b/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp
index 9f13c66187d803f3a6e260c81e190135a521f0bc..4dc720e5707b10a0fabd676e4d5207afbfafb3e6 100644
--- a/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp
+++ b/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp
@@ -220,4 +220,45 @@ TEST(ImageResourceTest, UpdateBitmapImages)
ASSERT_TRUE(cachedImage->image()->isBitmapImage());
}
+TEST(ImageResourceTest, ReloadIfLoFi)
+{
+ KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
+ URLTestHelpers::registerMockedURLLoad(testURL, "cancelTest.html", "text/html");
+ ResourcePtr<ImageResource> cachedImage = new ImageResource(ResourceRequest(testURL), nullptr);
+ cachedImage->setLoading(true);
+
+ MockImageResourceClient client(cachedImage);
+ ResourceFetcher* fetcher = ResourceFetcher::create(nullptr);
+
+ // Send the image response.
+ Vector<unsigned char> jpeg = jpegImage();
+ ResourceResponse resourceResponse(KURL(), "image/jpeg", jpeg.size(), nullAtom, String());
+ resourceResponse.addHTTPHeaderField("chrome-proxy", "q=low");
+
+ cachedImage->responseReceived(resourceResponse, nullptr);
+ cachedImage->appendData(reinterpret_cast<const char*>(jpeg.data()), jpeg.size());
+ cachedImage->finish();
+ ASSERT_FALSE(cachedImage->errorOccurred());
+ ASSERT_TRUE(cachedImage->hasImage());
+ ASSERT_FALSE(cachedImage->image()->isNull());
+ ASSERT_EQ(client.imageChangedCount(), 2);
+ ASSERT_TRUE(client.notifyFinishedCalled());
+ ASSERT_TRUE(cachedImage->image()->isBitmapImage());
+
+ cachedImage->reloadIfLoFi(fetcher);
+ ASSERT_FALSE(cachedImage->errorOccurred());
+ ASSERT_FALSE(cachedImage->resourceBuffer());
+ ASSERT_FALSE(cachedImage->hasImage());
+ ASSERT_EQ(client.imageChangedCount(), 3);
+
+ cachedImage->responseReceived(resourceResponse, nullptr);
+ cachedImage->appendData(reinterpret_cast<const char*>(jpeg.data()), jpeg.size());
+ cachedImage->finish();
+ ASSERT_FALSE(cachedImage->errorOccurred());
+ ASSERT_TRUE(cachedImage->hasImage());
+ ASSERT_FALSE(cachedImage->image()->isNull());
+ ASSERT_TRUE(client.notifyFinishedCalled());
+ ASSERT_TRUE(cachedImage->image()->isBitmapImage());
+}
+
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.cpp ('k') | third_party/WebKit/Source/core/fetch/ResourceFetcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698