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 e0013a6e045789cd36bda70b02d9f7390204fd80..7df865f4d0d65050f0cabea4dec555324ea72b1e 100644 |
--- a/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp |
+++ b/third_party/WebKit/Source/core/fetch/ImageResourceTest.cpp |
@@ -620,4 +620,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); |
+ EXPECT_EQ(Resource::DecodeError, cachedImage->getStatus()); |
+ EXPECT_FALSE(cachedImage->isLoading()); |
+} |
+ |
} // namespace blink |