本文整理汇总了C++中Persistent::encodedSizeOnNotifyFinished方法的典型用法代码示例。如果您正苦于以下问题:C++ Persistent::encodedSizeOnNotifyFinished方法的具体用法?C++ Persistent::encodedSizeOnNotifyFinished怎么用?C++ Persistent::encodedSizeOnNotifyFinished使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Persistent
的用法示例。
在下文中一共展示了Persistent::encodedSizeOnNotifyFinished方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testURL
TEST(ImageResourceTest, ReloadIfLoFiDuringFetch) {
KURL testURL(ParsedURLString, "http://www.test.com/cancelTest.html");
ScopedRegisteredURL scopedRegisteredURL(testURL);
ResourceRequest request(testURL);
request.setLoFiState(WebURLRequest::LoFiOn);
FetchRequest fetchRequest(request, FetchInitiatorInfo());
ResourceFetcher* fetcher =
ResourceFetcher::create(ImageResourceTestMockFetchContext::create());
ImageResource* cachedImage = ImageResource::fetch(fetchRequest, fetcher);
Persistent<MockImageResourceClient> client =
new MockImageResourceClient(cachedImage);
// Send the image response.
Vector<unsigned char> jpeg = jpegImage();
ResourceResponse initialResourceResponse(testURL, "image/jpeg", jpeg.size(),
nullAtom, String());
initialResourceResponse.addHTTPHeaderField("chrome-proxy", "q=low");
cachedImage->loader()->didReceiveResponse(
nullptr, WrappedResourceResponse(initialResourceResponse));
cachedImage->loader()->didReceiveData(
nullptr, reinterpret_cast<const char*>(jpeg.data()), jpeg.size(),
jpeg.size(), jpeg.size());
EXPECT_FALSE(cachedImage->errorOccurred());
ASSERT_TRUE(cachedImage->hasImage());
EXPECT_FALSE(cachedImage->getImage()->isNull());
EXPECT_EQ(1, client->imageChangedCount());
EXPECT_EQ(jpeg.size(), client->encodedSizeOnLastImageChanged());
EXPECT_FALSE(client->notifyFinishedCalled());
EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
EXPECT_EQ(1, cachedImage->getImage()->width());
EXPECT_EQ(1, cachedImage->getImage()->height());
// Call reloadIfLoFi() while the image is still loading.
cachedImage->reloadIfLoFi(fetcher);
EXPECT_FALSE(cachedImage->errorOccurred());
EXPECT_FALSE(cachedImage->resourceBuffer());
EXPECT_FALSE(cachedImage->hasImage());
EXPECT_EQ(2, client->imageChangedCount());
EXPECT_EQ(0U, client->encodedSizeOnLastImageChanged());
// The client should not have been notified of completion yet, since the image
// is still loading.
EXPECT_FALSE(client->notifyFinishedCalled());
Vector<unsigned char> jpeg2 = jpegImage2();
cachedImage->loader()->didReceiveResponse(
nullptr, WrappedResourceResponse(ResourceResponse(
testURL, "image/jpeg", jpeg.size(), nullAtom, String())),
nullptr);
cachedImage->loader()->didReceiveData(
nullptr, reinterpret_cast<const char*>(jpeg2.data()), jpeg2.size(),
jpeg2.size(), jpeg2.size());
cachedImage->loader()->didFinishLoading(nullptr, 0.0, jpeg2.size());
EXPECT_FALSE(cachedImage->errorOccurred());
ASSERT_TRUE(cachedImage->hasImage());
EXPECT_FALSE(cachedImage->getImage()->isNull());
EXPECT_EQ(jpeg2.size(), client->encodedSizeOnLastImageChanged());
// The client should have been notified of completion only after the reload
// completed.
EXPECT_TRUE(client->notifyFinishedCalled());
EXPECT_EQ(jpeg2.size(), client->encodedSizeOnNotifyFinished());
EXPECT_EQ(jpeg2.size(), client->encodedSizeOnImageNotifyFinished());
EXPECT_TRUE(cachedImage->getImage()->isBitmapImage());
EXPECT_EQ(50, cachedImage->getImage()->width());
EXPECT_EQ(50, cachedImage->getImage()->height());
}