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

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

Issue 11830007: Avoid sending notifications when the bitmap data in history has not changed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Split the changes to MergeFavicon() and SetFavicons() into two CLs as only the changes to MergeFavi… Created 7 years, 11 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
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/thumbnail_database.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 bc2e14abe104c00a3be358a75af99160a609c32f..bb57dd07d939b54931a4ed43e56b996f3c1db089 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -1792,13 +1792,39 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
- // 1) Merge favicon of the same size.
+ EXPECT_EQ(1, num_broadcasted_notifications());
+
+ // 1) Merge identical favicon bitmap.
std::vector<unsigned char> data;
- data.push_back('b');
+ data.push_back('a');
scoped_refptr<base::RefCountedBytes> bitmap_data(
new base::RefCountedBytes(data));
backend_->MergeFavicon(page_url, icon_url1, FAVICON, bitmap_data, kSmallSize);
+ // All the data should stay the same and no notifications should have been
+ // sent.
+ icon_mappings.clear();
+ EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url,
+ &icon_mappings));
+ EXPECT_EQ(1u, icon_mappings.size());
+ EXPECT_EQ(icon_url1, icon_mappings[0].icon_url);
+
+ favicon_sizes.clear();
+ EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
+ icon_mappings[0].icon_id, NULL, NULL, &favicon_sizes));
+ EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
+
+ EXPECT_TRUE(GetOnlyFaviconBitmap(icon_mappings[0].icon_id, &favicon_bitmap));
+ EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
+ EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
+
+ EXPECT_EQ(1, num_broadcasted_notifications());
+
+ // 2) Merge favicon bitmap of the same size.
+ data[0] = 'b';
+ bitmap_data = new base::RefCountedBytes(data);
+ backend_->MergeFavicon(page_url, icon_url1, FAVICON, bitmap_data, kSmallSize);
+
// The small favicon bitmap at |icon_url1| should be overwritten and favicon
// sizes should remain unchanged.
icon_mappings.clear();
@@ -1816,7 +1842,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
- // 2) Merge favicon for the same icon URL, but a pixel size for which there is
+ // 3) Merge favicon for the same icon URL, but a pixel size for which there is
// no favicon bitmap.
data[0] = 'c';
bitmap_data = new base::RefCountedBytes(data);
@@ -1843,7 +1869,7 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmaps[1].bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmaps[1].pixel_size);
- // 3) Merge favicon for an icon URL different from the icon URLs already
+ // 4) Merge favicon for an icon URL different from the icon URLs already
// mapped to page URL.
data[0] = 'd';
bitmap_data = new base::RefCountedBytes(data);
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/thumbnail_database.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698