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

Unified Diff: chrome/browser/history/history_backend_unittest.cc

Issue 484213002: Refactor HistoryService to not send NOTIFICATION_FAVICON_CHANGED (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix android compilation Created 6 years, 4 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/history/history_backend_unittest.cc
diff --git a/chrome/browser/history/history_backend_unittest.cc b/chrome/browser/history/history_backend_unittest.cc
index bc00726e23871209405b660c0504b7d66cb379eb..3399e0a2651c928401ffc700182b3953c5029b1f 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -90,6 +90,7 @@ class HistoryBackendTestDelegate : public HistoryBackend::Delegate {
virtual void NotifyProfileError(sql::InitStatus init_status) OVERRIDE {}
virtual void SetInMemoryBackend(
scoped_ptr<InMemoryHistoryBackend> backend) OVERRIDE;
+ virtual void NotifyFaviconChanged(const std::set<GURL>& urls) OVERRIDE;
virtual void BroadcastNotifications(
int type,
scoped_ptr<HistoryDetails> details) OVERRIDE;
@@ -110,6 +111,7 @@ class HistoryBackendTestBase : public testing::Test {
HistoryBackendTestBase()
: loaded_(false),
+ favicon_changed_notifications_(0),
ui_thread_(content::BrowserThread::UI, &message_loop_) {}
virtual ~HistoryBackendTestBase() {
@@ -117,6 +119,14 @@ class HistoryBackendTestBase : public testing::Test {
}
protected:
+ int favicon_changed_notifications() const {
+ return favicon_changed_notifications_;
+ }
+
+ void ClearFaviconChangedNotificationCounter() {
+ favicon_changed_notifications_ = 0;
+ }
+
int num_broadcasted_notifications() const {
return broadcasted_notifications_.size();
}
@@ -133,6 +143,10 @@ class HistoryBackendTestBase : public testing::Test {
return test_dir_;
}
+ void NotifyFaviconChanged(const std::set<GURL>& changed_favicons) {
+ ++favicon_changed_notifications_;
+ }
+
void BroadcastNotifications(int type, scoped_ptr<HistoryDetails> details) {
// Send the notifications directly to the in-memory database.
content::Details<HistoryDetails> det(details.get());
@@ -178,6 +192,7 @@ class HistoryBackendTestBase : public testing::Test {
// The types and details of notifications which were broadcasted.
NotificationList broadcasted_notifications_;
+ int favicon_changed_notifications_;
base::MessageLoop message_loop_;
base::FilePath test_dir_;
@@ -191,6 +206,11 @@ void HistoryBackendTestDelegate::SetInMemoryBackend(
test_->SetInMemoryBackend(backend.Pass());
}
+void HistoryBackendTestDelegate::NotifyFaviconChanged(
+ const std::set<GURL>& changed_favicons) {
+ test_->NotifyFaviconChanged(changed_favicons);
+}
+
void HistoryBackendTestDelegate::BroadcastNotifications(
int type,
scoped_ptr<HistoryDetails> details) {
@@ -1666,6 +1686,7 @@ TEST_F(HistoryBackendTest, SetFaviconsDeleteBitmaps) {
const GURL page_url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon");
+ ClearFaviconChangedNotificationCounter();
std::vector<favicon_base::FaviconRawBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetEdgeSizesSmallAndLarge(),
&favicon_bitmap_data);
@@ -1724,7 +1745,7 @@ TEST_F(HistoryBackendTest, SetFaviconsDeleteBitmaps) {
&icon_mappings));
// Notifications should have been broadcast for each call to SetFavicons().
- EXPECT_EQ(3, num_broadcasted_notifications());
+ EXPECT_EQ(3, favicon_changed_notifications());
}
// Test updating a single favicon bitmap's data via SetFavicons.
@@ -1732,6 +1753,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
const GURL page_url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon");
+ ClearFaviconChangedNotificationCounter();
std::vector<unsigned char> data_initial;
data_initial.push_back('a');
@@ -1755,7 +1777,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
GetOnlyFaviconBitmap(original_favicon_id, &original_favicon_bitmap));
EXPECT_TRUE(BitmapDataEqual('a', original_favicon_bitmap.bitmap_data));
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
// Call SetFavicons() with completely identical data.
std::vector<unsigned char> updated_data;
@@ -1774,7 +1796,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
// Because the bitmap data is byte equivalent, no notifications should have
// been broadcasted.
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
// Call SetFavicons() with identical data but a different bitmap.
updated_data[0] = 'b';
@@ -1796,7 +1818,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
// A notification should have been broadcasted as the favicon bitmap data has
// changed.
- EXPECT_EQ(2, num_broadcasted_notifications());
+ EXPECT_EQ(2, favicon_changed_notifications());
}
// Test that if two pages share the same FaviconID, changing the favicon for
@@ -1807,6 +1829,7 @@ TEST_F(HistoryBackendTest, SetFaviconsSameFaviconURLForTwoPages) {
GURL page_url1("http://www.google.com");
GURL page_url2("http://www.google.ca");
+ ClearFaviconChangedNotificationCounter();
std::vector<favicon_base::FaviconRawBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetEdgeSizesSmallAndLarge(),
&favicon_bitmap_data);
@@ -1870,7 +1893,7 @@ TEST_F(HistoryBackendTest, SetFaviconsSameFaviconURLForTwoPages) {
// A notification should have been broadcast for each call to SetFavicons()
// and each call to UpdateFaviconMappingsAndFetch().
- EXPECT_EQ(3, num_broadcasted_notifications());
+ EXPECT_EQ(3, favicon_changed_notifications());
}
// Test that no notifications are broadcast as a result of calling
@@ -1883,13 +1906,14 @@ TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchNoChange) {
GenerateFaviconBitmapData(icon_url, GetEdgeSizesSmall(),
&favicon_bitmap_data);
+ ClearFaviconChangedNotificationCounter();
backend_->SetFavicons(page_url, favicon_base::FAVICON, favicon_bitmap_data);
favicon_base::FaviconID icon_id =
backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
icon_url, favicon_base::FAVICON, NULL);
EXPECT_NE(0, icon_id);
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
std::vector<GURL> icon_urls;
icon_urls.push_back(icon_url);
@@ -1907,7 +1931,7 @@ TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchNoChange) {
// No notification should have been broadcast as no icon mapping, favicon,
// or favicon bitmap was updated, added or removed.
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
}
// Test repeatedly calling MergeFavicon(). |page_url| is initially not known
@@ -1963,6 +1987,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
GURL icon_url1("http:/www.google.com/favicon.ico");
GURL icon_url2("http://www.google.com/favicon2.ico");
+ ClearFaviconChangedNotificationCounter();
std::vector<favicon_base::FaviconRawBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url1, GetEdgeSizesSmall(),
&favicon_bitmap_data);
@@ -1982,7 +2007,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
// 1) Merge identical favicon bitmap.
std::vector<unsigned char> data;
@@ -2005,7 +2030,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
- EXPECT_EQ(1, num_broadcasted_notifications());
+ EXPECT_EQ(1, favicon_changed_notifications());
// 2) Merge favicon bitmap of the same size.
data[0] = 'b';
@@ -2079,7 +2104,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
// A notification should have been broadcast for each call to SetFavicons()
// and MergeFavicon().
- EXPECT_EQ(4, num_broadcasted_notifications());
+ EXPECT_EQ(4, favicon_changed_notifications());
}
// Test calling MergeFavicon() when |icon_url| is known to the database but not
@@ -2090,6 +2115,7 @@ TEST_F(HistoryBackendTest, MergeFaviconIconURLMappedToDifferentPageURL) {
GURL page_url3("http://maps.google.com");
GURL icon_url("http:/www.google.com/favicon.ico");
+ ClearFaviconChangedNotificationCounter();
std::vector<favicon_base::FaviconRawBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetEdgeSizesSmall(),
&favicon_bitmap_data);
@@ -2164,7 +2190,7 @@ TEST_F(HistoryBackendTest, MergeFaviconIconURLMappedToDifferentPageURL) {
// A notification should have been broadcast for each call to SetFavicons()
// and MergeFavicon().
- EXPECT_EQ(3, num_broadcasted_notifications());
+ EXPECT_EQ(3, favicon_changed_notifications());
}
// Test that MergeFavicon() does not add more than

Powered by Google App Engine
This is Rietveld 408576698