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

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

Issue 2173873003: Cancel image loads if decoding failed (attempt #2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix UAF Created 4 years, 5 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 09937a62189e22198624953086078889bb59b310..f003e82c02747bfa6c09f5416131f3a72cb55728 100644
--- a/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp
+++ b/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp
@@ -621,4 +621,20 @@ TEST(ImageResourceTest, AddClientAfterPrune)
EXPECT_TRUE(client2->notifyFinishedCalled());
}
+TEST(ImageResourceTest, CancelOnDecodeError)
+{
+ KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
+ URLTestHelpers::registerMockedURLLoad(testURL, "cancelTest.html", "text/html");
+
+ ResourceFetcher* fetcher = ResourceFetcher::create(ImageResourceTestMockFetchContext::create());
+ FetchRequest request(testURL, FetchInitiatorInfo());
+ ImageResource* cachedImage = ImageResource::fetch(request, fetcher);
+ Platform::current()->getURLLoaderMockFactory()->unregisterURL(testURL);
+
+ cachedImage->loader()->didReceiveResponse(nullptr, WrappedResourceResponse(ResourceResponse(testURL, "image/jpeg", 18, nullAtom, String())), nullptr);
+ cachedImage->loader()->didReceiveData(nullptr, "notactuallyanimage", 18, 18, 18);
+ EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus());
+ EXPECT_FALSE(cachedImage->isLoading());
+}
+
} // namespace blink
« no previous file with comments | « third_party/WebKit/Source/core/fetch/ImageResource.cpp ('k') | third_party/WebKit/Source/core/fetch/Resource.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698