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

Unified Diff: chrome/browser/image_holder_unittest.cc

Issue 1067593005: Fix race conditions in ImageDecoder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use TestBrowserThreadBundle, cleanup tests Created 5 years, 8 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: chrome/browser/image_holder_unittest.cc
diff --git a/chrome/browser/image_holder_unittest.cc b/chrome/browser/image_holder_unittest.cc
index 948f11e512d9da80b5048c6c9a477672569a5b43..03da2ca35e529edc0f130f865b59bd5b0dda97f6 100644
--- a/chrome/browser/image_holder_unittest.cc
+++ b/chrome/browser/image_holder_unittest.cc
@@ -5,6 +5,7 @@
#include <string>
#include "chrome/browser/image_holder.h"
+#include "content/public/test/test_browser_thread_bundle.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace {
@@ -15,11 +16,20 @@ const char kIconUrl2[] = "http://www.google.com/icon2.jpg";
class TestDelegate : public chrome::ImageHolderDelegate {
public:
TestDelegate() : on_fetch_complete_called_(false) {}
+
+ bool on_fetch_complete_called() const { return on_fetch_complete_called_; }
+
+ // chrome::ImageHolderDelegate
void OnFetchComplete() override { on_fetch_complete_called_ = true; }
+
+ private:
+ content::TestBrowserThreadBundle thread_bundle_;
bool on_fetch_complete_called_;
+
+ DISALLOW_COPY_AND_ASSIGN(TestDelegate);
};
-} // namespace.
+} // namespace
namespace chrome {
@@ -27,22 +37,23 @@ typedef testing::Test ImageHolderTest;
TEST_F(ImageHolderTest, CreateBitmapFetcherTest) {
TestDelegate delegate;
- ImageHolder image_holder(GURL(kIconUrl1), GURL(kIconUrl2), NULL, &delegate);
+ ImageHolder image_holder(GURL(kIconUrl1), GURL(kIconUrl2), nullptr,
+ &delegate);
+ ASSERT_EQ(2U, image_holder.fetchers_.size());
EXPECT_EQ(GURL(kIconUrl1), image_holder.fetchers_[0]->url());
EXPECT_EQ(GURL(kIconUrl2), image_holder.fetchers_[1]->url());
- EXPECT_EQ(static_cast<unsigned int>(2), image_holder.fetchers_.size());
// Adding a dup of an existing URL shouldn't change anything.
image_holder.CreateBitmapFetcher(GURL(kIconUrl2));
+ ASSERT_EQ(2U, image_holder.fetchers_.size());
EXPECT_EQ(GURL(kIconUrl1), image_holder.fetchers_[0]->url());
EXPECT_EQ(GURL(kIconUrl2), image_holder.fetchers_[1]->url());
- EXPECT_EQ(static_cast<unsigned int>(2), image_holder.fetchers_.size());
}
TEST_F(ImageHolderTest, OnFetchCompleteTest) {
TestDelegate delegate;
- ImageHolder image_holder(GURL(kIconUrl1), GURL(), NULL, &delegate);
+ ImageHolder image_holder(GURL(kIconUrl1), GURL(), nullptr, &delegate);
// Put a real bitmap into "bitmap". 2x2 bitmap of green 32 bit pixels.
SkBitmap bitmap;
@@ -55,15 +66,16 @@ TEST_F(ImageHolderTest, OnFetchCompleteTest) {
EXPECT_FALSE(image_holder.low_dpi_image().IsEmpty());
// Expect that we reported the fetch done to the delegate.
- EXPECT_TRUE(delegate.on_fetch_complete_called_);
+ EXPECT_TRUE(delegate.on_fetch_complete_called());
}
TEST_F(ImageHolderTest, IsFetchingDoneTest) {
TestDelegate delegate;
- ImageHolder image_holder1(GURL(kIconUrl1), GURL(kIconUrl2), NULL, &delegate);
- ImageHolder image_holder2(GURL(kIconUrl1), GURL(), NULL, &delegate);
- ImageHolder image_holder3(GURL(), GURL(kIconUrl2), NULL, &delegate);
- ImageHolder image_holder4(GURL(), GURL(), NULL, &delegate);
+ ImageHolder image_holder1(GURL(kIconUrl1), GURL(kIconUrl2), nullptr,
+ &delegate);
+ ImageHolder image_holder2(GURL(kIconUrl1), GURL(), nullptr, &delegate);
+ ImageHolder image_holder3(GURL(), GURL(kIconUrl2), nullptr, &delegate);
+ ImageHolder image_holder4(GURL(), GURL(), nullptr, &delegate);
// Initially, image holder 4 with no URLs should report done, but no others.
EXPECT_FALSE(image_holder1.IsFetchingDone());
« no previous file with comments | « chrome/browser/image_decoder_browsertest.cc ('k') | chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698