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

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

Issue 11746010: Cleanup history favicon code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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/history_types.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 a54d6074678e4ddae405fb147316c9d884b06f26..9d84275c41346aaffcfed9eb5215c840da59cd23 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -1287,33 +1287,29 @@ TEST_F(HistoryBackendTest, SetFaviconMappingsForPageAndRedirects) {
const GURL icon_url1("http://www.google.com/icon");
const GURL icon_url2("http://www.google.com/icon2");
- // Create mapping for a page with two favicons.
- IconURLSizesMap two_icon_url_sizes;
- two_icon_url_sizes[icon_url1] = GetSizesSmallAndLarge();
- two_icon_url_sizes[icon_url2] = GetSizesSmallAndLarge();
+ // Generate bitmap data for a page with two favicons.
+ std::vector<FaviconBitmapData> two_favicon_bitmap_data;
+ GenerateFaviconBitmapData(icon_url1, GetSizesSmallAndLarge(),
+ icon_url2, GetSizesSmallAndLarge(), &two_favicon_bitmap_data);
- // Create a mapping for a page with a single favicon.
- IconURLSizesMap one_icon_url_sizes;
- one_icon_url_sizes[icon_url1] = GetSizesSmallAndLarge();
-
- std::vector<FaviconBitmapData> favicon_bitmap_data;
+ // Generate bitmap data for a page with a single favicon.
+ std::vector<FaviconBitmapData> one_favicon_bitmap_data;
+ GenerateFaviconBitmapData(icon_url1, GetSizesSmallAndLarge(),
+ &one_favicon_bitmap_data);
// Add two favicons
- backend_->SetFavicons(url1, FAVICON, favicon_bitmap_data,
- two_icon_url_sizes);
+ backend_->SetFavicons(url1, FAVICON, two_favicon_bitmap_data);
EXPECT_EQ(2u, NumIconMappingsForPageURL(url1, FAVICON));
EXPECT_EQ(2u, NumIconMappingsForPageURL(url2, FAVICON));
// Add one touch_icon
- backend_->SetFavicons(url1, TOUCH_ICON, favicon_bitmap_data,
- one_icon_url_sizes);
+ backend_->SetFavicons(url1, TOUCH_ICON, one_favicon_bitmap_data);
EXPECT_EQ(1u, NumIconMappingsForPageURL(url1, TOUCH_ICON));
EXPECT_EQ(1u, NumIconMappingsForPageURL(url2, TOUCH_ICON));
EXPECT_EQ(2u, NumIconMappingsForPageURL(url1, FAVICON));
// Add one TOUCH_PRECOMPOSED_ICON
- backend_->SetFavicons(url1, TOUCH_PRECOMPOSED_ICON, favicon_bitmap_data,
- one_icon_url_sizes);
+ backend_->SetFavicons(url1, TOUCH_PRECOMPOSED_ICON, one_favicon_bitmap_data);
// The touch_icon was replaced.
EXPECT_EQ(0u, NumIconMappingsForPageURL(url1, TOUCH_ICON));
EXPECT_EQ(2u, NumIconMappingsForPageURL(url1, FAVICON));
@@ -1321,38 +1317,35 @@ TEST_F(HistoryBackendTest, SetFaviconMappingsForPageAndRedirects) {
EXPECT_EQ(1u, NumIconMappingsForPageURL(url2, TOUCH_PRECOMPOSED_ICON));
// Add a touch_icon.
- backend_->SetFavicons(url1, TOUCH_ICON, favicon_bitmap_data,
- one_icon_url_sizes);
+ backend_->SetFavicons(url1, TOUCH_ICON, one_favicon_bitmap_data);
EXPECT_EQ(1u, NumIconMappingsForPageURL(url1, TOUCH_ICON));
EXPECT_EQ(2u, NumIconMappingsForPageURL(url1, FAVICON));
// The TOUCH_PRECOMPOSED_ICON was replaced.
EXPECT_EQ(0u, NumIconMappingsForPageURL(url1, TOUCH_PRECOMPOSED_ICON));
// Add a single favicon.
- backend_->SetFavicons(url1, FAVICON, favicon_bitmap_data,
- one_icon_url_sizes);
+ backend_->SetFavicons(url1, FAVICON, one_favicon_bitmap_data);
EXPECT_EQ(1u, NumIconMappingsForPageURL(url1, TOUCH_ICON));
EXPECT_EQ(1u, NumIconMappingsForPageURL(url1, FAVICON));
EXPECT_EQ(1u, NumIconMappingsForPageURL(url2, FAVICON));
// Add two favicons.
- backend_->SetFavicons(url1, FAVICON, favicon_bitmap_data,
- two_icon_url_sizes);
+ backend_->SetFavicons(url1, FAVICON, two_favicon_bitmap_data);
EXPECT_EQ(1u, NumIconMappingsForPageURL(url1, TOUCH_ICON));
EXPECT_EQ(2u, NumIconMappingsForPageURL(url1, FAVICON));
}
// Test that there is no churn in icon mappings from calling
-// SetFavicons() twice with the same |icon_url_sizes| parameter.
+// SetFavicons() twice with the same |favicon_bitmap_data| parameter.
TEST_F(HistoryBackendTest, SetFaviconMappingsForPageDuplicates) {
const GURL url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon");
- std::vector<FaviconBitmapData> favicon_bitmap_data;
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
+ std::vector<FaviconBitmapData> favicon_bitmap_data;
+ GenerateFaviconBitmapData(icon_url, GetSizesSmallAndLarge(),
+ &favicon_bitmap_data);
- backend_->SetFavicons(url, FAVICON, favicon_bitmap_data, icon_url_sizes);
+ backend_->SetFavicons(url, FAVICON, favicon_bitmap_data);
std::vector<IconMapping> icon_mappings;
EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
@@ -1360,7 +1353,7 @@ TEST_F(HistoryBackendTest, SetFaviconMappingsForPageDuplicates) {
EXPECT_EQ(1u, icon_mappings.size());
IconMappingID mapping_id = icon_mappings[0].mapping_id;
- backend_->SetFavicons(url, FAVICON, favicon_bitmap_data, icon_url_sizes);
+ backend_->SetFavicons(url, FAVICON, favicon_bitmap_data);
icon_mappings.clear();
EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
@@ -1372,183 +1365,77 @@ TEST_F(HistoryBackendTest, SetFaviconMappingsForPageDuplicates) {
EXPECT_EQ(mapping_id, icon_mappings[0].mapping_id);
}
-// Test that setting favicons for a page which already has data does the
-// right thing.
-TEST_F(HistoryBackendTest, SetFavicons) {
+// Test that calling SetFavicons() with FaviconBitmapData of different pixel
+// sizes than the initially passed in FaviconBitmapData deletes the no longer
+// used favicon bitmaps.
+TEST_F(HistoryBackendTest, SetFaviconsDeleteBitmaps) {
const GURL page_url("http://www.google.com/");
- std::vector<FaviconBitmapData> favicon_bitmap_data;
- IconURLSizesMap icon_url_sizes;
-
- // Set |page_url| as having two favicons each available from the web at two
- // sizes.
- const GURL icon_url1("http://www.google.com/icon1");
- const GURL icon_url2("http://www.google.com/icon2");
-
- icon_url_sizes[icon_url1] = GetSizesSmallAndLarge();
- icon_url_sizes[icon_url2] = GetSizesSmallAndLarge();
-
- // Set only sizes info for the favicons.
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
-
- std::vector<IconMapping> icon_mappings;
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
- page_url, &icon_mappings));
- EXPECT_EQ(2u, icon_mappings.size());
- for (size_t i = 0; i < icon_mappings.size(); ++i) {
- EXPECT_FALSE(backend_->thumbnail_db_->GetFaviconBitmaps(
- icon_mappings[i].icon_id, NULL));
- }
+ const GURL icon_url("http://www.google.com/icon");
- // Add bitmap data to the favicons.
- GenerateFaviconBitmapData(icon_url1,
- GetSizesSmall(),
- icon_url2,
- GetSizesSmallAndLarge(),
+ std::vector<FaviconBitmapData> favicon_bitmap_data;
+ GenerateFaviconBitmapData(icon_url, GetSizesSmallAndLarge(),
&favicon_bitmap_data);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
-
- icon_mappings.clear();
+ // Test initial state.
+ std::vector<IconMapping> icon_mappings;
EXPECT_TRUE(GetSortedIconMappingsForPageURL(page_url, &icon_mappings));
- EXPECT_EQ(2u, icon_mappings.size());
-
- GURL icon_url;
- IconType icon_type;
- FaviconSizes favicon_sizes;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[0].icon_id, &icon_url, &icon_type, &favicon_sizes));
- EXPECT_EQ(icon_url1, icon_url);
- EXPECT_EQ(FAVICON, icon_type);
- EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
+ EXPECT_EQ(1u, icon_mappings.size());
+ EXPECT_EQ(icon_url, icon_mappings[0].icon_url);
+ EXPECT_EQ(FAVICON, icon_mappings[0].icon_type);
+ FaviconID favicon_id = icon_mappings[0].icon_id;
std::vector<FaviconBitmap> favicon_bitmaps;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(
- icon_mappings[0].icon_id, &favicon_bitmaps));
- EXPECT_EQ(1u, favicon_bitmaps.size());
- EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmaps[0].bitmap_data));
- EXPECT_EQ(kSmallSize, favicon_bitmaps[0].pixel_size);
-
- favicon_sizes.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[1].icon_id, &icon_url, &icon_type, &favicon_sizes));
- EXPECT_EQ(icon_url2, icon_url);
- EXPECT_EQ(FAVICON, icon_type);
- EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
-
- favicon_bitmaps.clear();
- EXPECT_TRUE(GetSortedFaviconBitmaps(icon_mappings[1].icon_id,
- &favicon_bitmaps));
-
+ EXPECT_TRUE(GetSortedFaviconBitmaps(favicon_id, &favicon_bitmaps));
EXPECT_EQ(2u, favicon_bitmaps.size());
- EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmaps[0].bitmap_data));
+ FaviconBitmapID small_bitmap_id = favicon_bitmaps[0].bitmap_id;
+ EXPECT_NE(0, small_bitmap_id);
+ EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmaps[0].bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmaps[0].pixel_size);
- EXPECT_TRUE(BitmapDataEqual('c', favicon_bitmaps[1].bitmap_data));
+ FaviconBitmapID large_bitmap_id = favicon_bitmaps[1].bitmap_id;
+ EXPECT_NE(0, large_bitmap_id);
+ EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmaps[1].bitmap_data));
EXPECT_EQ(kLargeSize, favicon_bitmaps[1].pixel_size);
- // Notifications should have been broadcast for each call to SetFavicons().
- EXPECT_EQ(2, num_broadcasted_notifications());
+ // Call SetFavicons() with bitmap data for only the large bitmap. Check that
+ // the small bitmap is in fact deleted.
+ GenerateFaviconBitmapData(icon_url, GetSizesLarge(), &favicon_bitmap_data);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
- // Change the sizes for which the favicon at icon_url1 is available at from
- // the web. Verify that all the data remains valid.
- icon_url_sizes[icon_url1] = GetSizesTinySmallAndLarge();
- favicon_bitmap_data.clear();
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ scoped_refptr<base::RefCountedMemory> bitmap_data_out;
+ gfx::Size pixel_size_out;
+ EXPECT_FALSE(backend_->thumbnail_db_->GetFaviconBitmap(small_bitmap_id,
+ NULL, &bitmap_data_out, &pixel_size_out));
+ EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmap(large_bitmap_id,
+ NULL, &bitmap_data_out, &pixel_size_out));
+ EXPECT_TRUE(BitmapDataEqual('a', bitmap_data_out));
+ EXPECT_EQ(kLargeSize, pixel_size_out);
icon_mappings.clear();
- EXPECT_TRUE(GetSortedIconMappingsForPageURL(page_url, &icon_mappings));
- EXPECT_EQ(2u, icon_mappings.size());
-
- favicon_sizes.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[0].icon_id, &icon_url, &icon_type, &favicon_sizes));
- EXPECT_EQ(icon_url1, icon_url);
- EXPECT_EQ(FAVICON, icon_type);
- EXPECT_EQ(GetSizesTinySmallAndLarge(), favicon_sizes);
-
- favicon_bitmaps.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(
- icon_mappings[0].icon_id, &favicon_bitmaps));
- EXPECT_EQ(1u, favicon_bitmaps.size());
-
- favicon_sizes.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[1].icon_id, &icon_url, &icon_type, &favicon_sizes));
- EXPECT_EQ(icon_url2, icon_url);
- EXPECT_EQ(FAVICON, icon_type);
- EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
-
- favicon_bitmaps.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(
- icon_mappings[1].icon_id, &favicon_bitmaps));
- EXPECT_EQ(2u, favicon_bitmaps.size());
-
- // No notifications should have been sent because changing the favicon sizes
- // did not result in deleting any favicon bitmaps.
- EXPECT_EQ(2, num_broadcasted_notifications());
-}
-
-// Test that changing the sizes that a favicon is available at from the web
-// deletes stale favicons and favicon bitmaps.
-TEST_F(HistoryBackendTest, SetFaviconsDeleteBitmaps) {
- const GURL page_url("http://www.google.com/");
- const GURL icon_url("http://www.google.com/icon");
-
- // Set |page_url| as having one favicon with two different sizes.
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
-
- std::vector<FaviconBitmapData> favicon_bitmap_data;
- GenerateFaviconBitmapData(icon_url, GetSizesSmallAndLarge(),
- &favicon_bitmap_data);
-
- // Add bitmap data and sizes information to the database.
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
-
- FaviconID favicon_id = backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
- icon_url, FAVICON, NULL);
- EXPECT_NE(0, favicon_id);
-
- std::vector<FaviconBitmap> favicon_bitmaps;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(favicon_id,
- &favicon_bitmaps));
- EXPECT_EQ(2u, favicon_bitmaps.size());
+ EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url,
+ &icon_mappings));
+ EXPECT_EQ(1u, icon_mappings.size());
+ EXPECT_EQ(favicon_id, icon_mappings[0].icon_id);
- // Change the bitmap sizes available from the web only to the small size only.
- icon_url_sizes[icon_url] = GetSizesSmall();
+ // Call SetFavicons() with no bitmap data. Check that the bitmaps and icon
+ // mappings are deleted.
favicon_bitmap_data.clear();
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
-
- favicon_id = backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
- icon_url, FAVICON, NULL);
- EXPECT_NE(0, favicon_id);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
- favicon_bitmaps.clear();
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconBitmaps(favicon_id,
- &favicon_bitmaps));
- EXPECT_EQ(1u, favicon_bitmaps.size());
- EXPECT_EQ(kSmallSize, favicon_bitmaps[0].pixel_size);
+ EXPECT_FALSE(backend_->thumbnail_db_->GetFaviconBitmap(large_bitmap_id, NULL,
+ NULL, NULL));
+ icon_mappings.clear();
+ EXPECT_FALSE(backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url,
+ &icon_mappings));
- // Clear |icon_url_sizes|. SetFavicons() should delete the remaining favicon
- // and its favicon bitmap.
- icon_url_sizes.clear();
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data, icon_url_sizes);
- EXPECT_EQ(0, backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
- icon_url, FAVICON, NULL));
- EXPECT_FALSE(backend_->thumbnail_db_->GetFaviconBitmaps(favicon_id, NULL));
+ // Notifications should have been broadcast for each call to SetFavicons().
+ EXPECT_EQ(3, num_broadcasted_notifications());
}
// Test updating a single favicon bitmap's data via SetFavicons.
TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
-
const GURL page_url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmall();
std::vector<unsigned char> data_initial;
data_initial.push_back('a');
@@ -1562,8 +1449,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
favicon_bitmap_data.push_back(bitmap_data_element);
// Add bitmap to the database.
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
FaviconID original_favicon_id =
backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, FAVICON,
@@ -1580,8 +1466,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
std::vector<unsigned char> updated_data;
updated_data.push_back('a');
favicon_bitmap_data[0].bitmap_data = new base::RefCountedBytes(updated_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
FaviconID updated_favicon_id =
backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, FAVICON,
@@ -1599,8 +1484,7 @@ TEST_F(HistoryBackendTest, SetFaviconsReplaceBitmapData) {
// Call SetFavicons() with identical data but a different bitmap.
updated_data[0] = 'b';
favicon_bitmap_data[0].bitmap_data = new base::RefCountedBytes(updated_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
updated_favicon_id =
backend_->thumbnail_db_->GetFaviconIDForFaviconURL(icon_url, FAVICON,
@@ -1629,23 +1513,19 @@ TEST_F(HistoryBackendTest, SetFaviconsSameFaviconURLForTwoPages) {
GURL page_url1("http://www.google.com");
GURL page_url2("http://www.google.ca");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetSizesSmallAndLarge(),
&favicon_bitmap_data);
- backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data);
std::vector<GURL> icon_urls;
icon_urls.push_back(icon_url);
- HistoryBackend::FaviconResults results;
+ std::vector<FaviconBitmapResult> bitmap_results;
backend_->UpdateFaviconMappingsAndFetch(
page_url2, icon_urls, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &results);
+ GetScaleFactors1x2x(), &bitmap_results);
// Check that the same FaviconID is mapped to both page URLs.
std::vector<IconMapping> icon_mappings;
@@ -1662,12 +1542,9 @@ TEST_F(HistoryBackendTest, SetFaviconsSameFaviconURLForTwoPages) {
EXPECT_EQ(favicon_id, icon_mappings[0].icon_id);
// Change the icon URL that |page_url1| is mapped to.
- icon_url_sizes.clear();
- icon_url_sizes[icon_url_new] = GetSizesSmall();
GenerateFaviconBitmapData(icon_url_new, GetSizesSmall(),
&favicon_bitmap_data);
- backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data);
// |page_url1| should map to a new FaviconID and have valid bitmap data.
icon_mappings.clear();
@@ -1700,18 +1577,16 @@ TEST_F(HistoryBackendTest, SetFaviconsSameFaviconURLForTwoPages) {
EXPECT_EQ(3, num_broadcasted_notifications());
}
-// Test that there is no churn from calling UpdateFaviconMappingsAndFetch()
-// for an icon URL which is already mapped to the passed in page URL.
+// Test that no notifications are broadcast as a result of calling
+// UpdateFaviconMappingsAndFetch() for an icon URL which is already
+// mapped to the passed in page URL.
TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchNoChange) {
GURL page_url("http://www.google.com");
GURL icon_url("http://www.google.com/favicon.ico");
std::vector<FaviconBitmapData> favicon_bitmap_data;
+ GenerateFaviconBitmapData(icon_url, GetSizesSmall(), &favicon_bitmap_data);
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmall();
-
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
FaviconID icon_id = backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
icon_url, FAVICON, NULL);
@@ -1721,10 +1596,10 @@ TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchNoChange) {
std::vector<GURL> icon_urls;
icon_urls.push_back(icon_url);
- HistoryBackend::FaviconResults results;
+ std::vector<FaviconBitmapResult> bitmap_results;
backend_->UpdateFaviconMappingsAndFetch(
page_url, icon_urls, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &results);
+ GetScaleFactors1x2x(), &bitmap_results);
EXPECT_EQ(icon_id, backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
icon_url, FAVICON, NULL));
@@ -1747,21 +1622,17 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLNotInDB) {
backend_->MergeFavicon(page_url, icon_url, FAVICON, bitmap_data, kSmallSize);
- // |page_url| should now be mapped to |icon_url| and sizes should be set
- // to GetDefaultFaviconSizes().
+ // |page_url| should now be mapped to |icon_url| and the favicon bitmap should
+ // not be expired.
std::vector<IconMapping> icon_mappings;
EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url,
&icon_mappings));
EXPECT_EQ(1u, icon_mappings.size());
EXPECT_EQ(icon_url, icon_mappings[0].icon_url);
- FaviconSizes favicon_sizes;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[0].icon_id, NULL, NULL, &favicon_sizes));
- EXPECT_EQ(GetDefaultFaviconSizes(), favicon_sizes);
-
FaviconBitmap favicon_bitmap;
EXPECT_TRUE(GetOnlyFaviconBitmap(icon_mappings[0].icon_id, &favicon_bitmap));
+ EXPECT_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
@@ -1777,12 +1648,8 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLNotInDB) {
EXPECT_EQ(1u, icon_mappings.size());
EXPECT_EQ(icon_url, 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(GetDefaultFaviconSizes(), favicon_sizes);
-
EXPECT_TRUE(GetOnlyFaviconBitmap(icon_mappings[0].icon_id, &favicon_bitmap));
+ EXPECT_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
}
@@ -1793,15 +1660,11 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
GURL icon_url1("http:/www.google.com/favicon.ico");
GURL icon_url2("http://www.google.com/favicon2.ico");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url1] = GetSizesSmallAndLarge();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url1, GetSizesSmall(),
&favicon_bitmap_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
// Test initial state.
std::vector<IconMapping> icon_mappings;
@@ -1810,13 +1673,9 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_EQ(1u, icon_mappings.size());
EXPECT_EQ(icon_url1, icon_mappings[0].icon_url);
- FaviconSizes favicon_sizes;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[0].icon_id, NULL, NULL, &favicon_sizes));
- EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
-
FaviconBitmap favicon_bitmap;
EXPECT_TRUE(GetOnlyFaviconBitmap(icon_mappings[0].icon_id, &favicon_bitmap));
+ EXPECT_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
@@ -1837,12 +1696,8 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
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_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
@@ -1861,12 +1716,8 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
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_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
@@ -1878,24 +1729,21 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
bitmap_data = new base::RefCountedBytes(data);
backend_->MergeFavicon(page_url, icon_url1, FAVICON, bitmap_data, kTinySize);
- // A new favicon bitmap should be created and favicon sizes should be set to
- // the default.
+ // A new favicon bitmap should be created and the preexisting favicon bitmap
+ // ('b') should be expired.
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(GetDefaultFaviconSizes(), favicon_sizes);
-
std::vector<FaviconBitmap> favicon_bitmaps;
EXPECT_TRUE(GetSortedFaviconBitmaps(icon_mappings[0].icon_id,
&favicon_bitmaps));
+ EXPECT_NE(base::Time(), favicon_bitmaps[0].last_updated);
EXPECT_TRUE(BitmapDataEqual('c', favicon_bitmaps[0].bitmap_data));
EXPECT_EQ(kTinySize, favicon_bitmaps[0].pixel_size);
+ EXPECT_EQ(base::Time(), favicon_bitmaps[1].last_updated);
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmaps[1].bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmaps[1].pixel_size);
@@ -1913,18 +1761,15 @@ TEST_F(HistoryBackendTest, MergeFaviconPageURLInDB) {
EXPECT_EQ(1u, icon_mappings.size());
EXPECT_EQ(icon_url2, 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(GetDefaultFaviconSizes(), favicon_sizes);
-
favicon_bitmaps.clear();
EXPECT_TRUE(GetSortedFaviconBitmaps(icon_mappings[0].icon_id,
&favicon_bitmaps));
+ EXPECT_EQ(base::Time(), favicon_bitmaps[0].last_updated);
EXPECT_TRUE(BitmapDataEqual('c', favicon_bitmaps[0].bitmap_data));
EXPECT_EQ(kTinySize, favicon_bitmaps[0].pixel_size);
// The favicon being merged should take precedence over the preexisting
// favicon bitmaps.
+ EXPECT_NE(base::Time(), favicon_bitmaps[1].last_updated);
EXPECT_TRUE(BitmapDataEqual('d', favicon_bitmaps[1].bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmaps[1].pixel_size);
@@ -1940,15 +1785,11 @@ TEST_F(HistoryBackendTest, MergeFaviconIconURLMappedToDifferentPageURL) {
GURL page_url2("http://news.google.com");
GURL icon_url("http:/www.google.com/favicon.ico");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetSizesSmall(),
&favicon_bitmap_data);
- backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url1, FAVICON, favicon_bitmap_data);
// Test initial state.
std::vector<IconMapping> icon_mappings;
@@ -1957,13 +1798,9 @@ TEST_F(HistoryBackendTest, MergeFaviconIconURLMappedToDifferentPageURL) {
EXPECT_EQ(1u, icon_mappings.size());
EXPECT_EQ(icon_url, icon_mappings[0].icon_url);
- FaviconSizes favicon_sizes;
- EXPECT_TRUE(backend_->thumbnail_db_->GetFaviconHeader(
- icon_mappings[0].icon_id, NULL, NULL, &favicon_sizes));
- EXPECT_EQ(GetSizesSmallAndLarge(), favicon_sizes);
-
FaviconBitmap favicon_bitmap;
EXPECT_TRUE(GetOnlyFaviconBitmap(icon_mappings[0].icon_id, &favicon_bitmap));
+ EXPECT_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('a', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
@@ -1994,6 +1831,7 @@ TEST_F(HistoryBackendTest, MergeFaviconIconURLMappedToDifferentPageURL) {
EXPECT_EQ(icon_url, icon_url_in_db);
EXPECT_TRUE(GetOnlyFaviconBitmap(favicon_id, &favicon_bitmap));
+ EXPECT_NE(base::Time(), favicon_bitmap.last_updated);
EXPECT_TRUE(BitmapDataEqual('b', favicon_bitmap.bitmap_data));
EXPECT_EQ(kSmallSize, favicon_bitmap.pixel_size);
}
@@ -2039,16 +1877,12 @@ TEST_F(HistoryBackendTest, MergeFaviconShowsUpInGetFaviconsForURLResult) {
GURL icon_url("http://www.google.com/favicon.ico");
GURL merged_icon_url("http://wwww.google.com/favicon2.ico");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetSizesSmallAndLarge(),
&favicon_bitmap_data);
// Set some preexisting favicons for |page_url|.
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
// Merge small favicon.
std::vector<unsigned char> data;
@@ -2060,15 +1894,15 @@ TEST_F(HistoryBackendTest, MergeFaviconShowsUpInGetFaviconsForURLResult) {
// Request favicon bitmaps for both 1x and 2x to simulate request done by
// BookmarkModel::GetFavicon().
- HistoryBackend::FaviconResults results;
+ std::vector<FaviconBitmapResult> bitmap_results;
backend_->GetFaviconsForURL(page_url, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &results);
+ GetScaleFactors1x2x(), &bitmap_results);
- EXPECT_EQ(2u, results.bitmap_results.size());
- const FaviconBitmapResult& first_result = results.bitmap_results[0];
+ EXPECT_EQ(2u, bitmap_results.size());
+ const FaviconBitmapResult& first_result = bitmap_results[0];
const FaviconBitmapResult& result =
(first_result.pixel_size == kSmallSize) ? first_result
- : results.bitmap_results[1];
+ : bitmap_results[1];
EXPECT_TRUE(BitmapDataEqual('c', result.bitmap_data));
}
@@ -2082,33 +1916,25 @@ TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchMultipleIconTypes) {
GURL icon_urlc("http://www.google.com/favicon3.ico");
// |page_url1| is mapped to |icon_urla| which if of type TOUCH_ICON.
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_urla] = GetSizesSmall();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_urla, GetSizesSmall(), &favicon_bitmap_data);
- backend_->SetFavicons(page_url1, TOUCH_ICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url1, TOUCH_ICON, favicon_bitmap_data);
// |page_url2| is mapped to |icon_urlb| and |icon_urlc| which are of type
// TOUCH_PRECOMPOSED_ICON.
- icon_url_sizes.clear();
- icon_url_sizes[icon_urlb] = GetSizesSmall();
- icon_url_sizes[icon_urlc] = GetSizesSmall();
GenerateFaviconBitmapData(icon_urlb, GetSizesSmall(), icon_urlc,
GetSizesSmall(), &favicon_bitmap_data);
- backend_->SetFavicons(page_url2, TOUCH_PRECOMPOSED_ICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url2, TOUCH_PRECOMPOSED_ICON, favicon_bitmap_data);
std::vector<GURL> icon_urls;
icon_urls.push_back(icon_urla);
icon_urls.push_back(icon_urlb);
icon_urls.push_back(icon_urlc);
- HistoryBackend::FaviconResults results;
+ std::vector<FaviconBitmapResult> bitmap_results;
backend_->UpdateFaviconMappingsAndFetch(
page_url3, icon_urls, (TOUCH_ICON | TOUCH_PRECOMPOSED_ICON),
- kSmallSize.width(), GetScaleFactors1x2x(), &results);
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results);
// |page_url1| and |page_url2| should still be mapped to the same icon URLs.
std::vector<IconMapping> icon_mappings;
@@ -2143,12 +1969,9 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBEmpty) {
const GURL page_url("http://www.google.com/");
std::vector<FaviconBitmapResult> bitmap_results;
- IconURLSizesMap icon_url_sizes;
EXPECT_FALSE(backend_->GetFaviconsFromDB(page_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results,
- &icon_url_sizes));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results));
EXPECT_TRUE(bitmap_results.empty());
- EXPECT_TRUE(icon_url_sizes.empty());
}
// Test the results of GetFaviconsFromDB() when there are matching favicons
@@ -2157,47 +1980,35 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBNoFaviconBitmaps) {
const GURL page_url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon1");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmallAndLarge();
-
- // No favicon bitmaps.
- std::vector<FaviconBitmapData> favicon_bitmap_data;
-
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ FaviconID icon_id = backend_->thumbnail_db_->AddFavicon(icon_url, FAVICON,
+ GetSizesSmallAndLarge());
+ EXPECT_NE(0, icon_id);
+ EXPECT_NE(0, backend_->thumbnail_db_->AddIconMapping(page_url, icon_id));
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
- EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &bitmap_results_out, &icon_url_sizes_out));
+ EXPECT_FALSE(backend_->GetFaviconsFromDB(page_url, FAVICON,
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_TRUE(bitmap_results_out.empty());
- EXPECT_EQ(icon_url_sizes, icon_url_sizes_out);
}
// Test that GetFaviconsFromDB() returns results for the bitmaps which most
// closely match the passed in desired size and scale factors.
TEST_F(HistoryBackendTest, GetFaviconsFromDBSelectClosestMatch) {
const GURL page_url("http://www.google.com/");
-
const GURL icon_url("http://www.google.com/icon1");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesTinySmallAndLarge();
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetSizesTinySmallAndLarge(),
&favicon_bitmap_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &bitmap_results_out, &icon_url_sizes_out));
-
- // The bitmap data for the 1x and 2x bitmaps should be returned as their sizes
- // match exactly.
+ GetScaleFactors1x2x(), &bitmap_results_out));
+ // The bitmap data for the small and large bitmaps should be returned as their
+ // sizes match exactly.
EXPECT_EQ(2u, bitmap_results_out.size());
// No required order for results.
if (bitmap_results_out[0].pixel_size == kLargeSize) {
@@ -2217,8 +2028,6 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBSelectClosestMatch) {
EXPECT_EQ(kLargeSize, bitmap_results_out[1].pixel_size);
EXPECT_EQ(icon_url, bitmap_results_out[1].icon_url);
EXPECT_EQ(FAVICON, bitmap_results_out[1].icon_type);
-
- EXPECT_EQ(icon_url_sizes, icon_url_sizes_out);
}
// Test that GetFaviconsFromDB() returns results from the icon URL whose
@@ -2228,29 +2037,22 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBSingleIconURL) {
const GURL icon_url1("http://www.google.com/icon1");
const GURL icon_url2("http://www.google.com/icon2");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url1] = GetSizesSmall();
- icon_url_sizes[icon_url2] = GetSizesSmallAndLarge();
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url1, GetSizesSmall(), icon_url2,
GetSizesLarge(), &favicon_bitmap_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &bitmap_results_out, &icon_url_sizes_out));
+ GetScaleFactors1x2x(), &bitmap_results_out));
// The results should have results for the icon URL with the large bitmap as
// downscaling is preferred to upscaling.
EXPECT_EQ(1u, bitmap_results_out.size());
EXPECT_EQ(kLargeSize, bitmap_results_out[0].pixel_size);
EXPECT_EQ(icon_url2, bitmap_results_out[0].icon_url);
-
- EXPECT_EQ(icon_url_sizes, icon_url_sizes_out);
}
// Test the results of GetFaviconsFromDB() when called with different
@@ -2260,39 +2062,28 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBIconType) {
const GURL icon_url1("http://www.google.com/icon1.png");
const GURL icon_url2("http://www.google.com/icon2.png");
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url1] = GetSizesSmall();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url1, GetSizesSmall(), &favicon_bitmap_data);
- backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data,
- icon_url_sizes);
+ backend_->SetFavicons(page_url, FAVICON, favicon_bitmap_data);
- IconURLSizesMap touch_icon_url_sizes;
- touch_icon_url_sizes[icon_url2] = GetSizesSmall();
GenerateFaviconBitmapData(icon_url2, GetSizesSmall(), &favicon_bitmap_data);
- backend_->SetFavicons(page_url, TOUCH_ICON, favicon_bitmap_data,
- touch_icon_url_sizes);
+ backend_->SetFavicons(page_url, TOUCH_ICON, favicon_bitmap_data);
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_EQ(1u, bitmap_results_out.size());
EXPECT_EQ(FAVICON, bitmap_results_out[0].icon_type);
- EXPECT_EQ(icon_url_sizes, icon_url_sizes_out);
+ EXPECT_EQ(icon_url1, bitmap_results_out[0].icon_url);
bitmap_results_out.clear();
- icon_url_sizes_out.clear();
EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, TOUCH_ICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_EQ(1u, bitmap_results_out.size());
EXPECT_EQ(TOUCH_ICON, bitmap_results_out[0].icon_type);
- EXPECT_EQ(touch_icon_url_sizes, icon_url_sizes_out);
+ EXPECT_EQ(icon_url2, bitmap_results_out[0].icon_url);
}
// Test that GetFaviconsFromDB() correctly sets the expired flag for bitmap
@@ -2312,10 +2103,8 @@ TEST_F(HistoryBackendTest, GetFaviconsFromDBExpired) {
EXPECT_NE(0, backend_->thumbnail_db_->AddIconMapping(page_url, icon_id));
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
EXPECT_TRUE(backend_->GetFaviconsFromDB(page_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_EQ(1u, bitmap_results_out.size());
EXPECT_TRUE(bitmap_results_out[0].expired);
@@ -2327,16 +2116,13 @@ TEST_F(HistoryBackendTest, UpdateFaviconMappingsAndFetchNoDB) {
// Make the thumbnail database invalid.
backend_->thumbnail_db_.reset();
- HistoryBackend::FaviconResults results;
- results.bitmap_results.push_back(FaviconBitmapResult());
- results.size_map[GURL()] = FaviconSizes();
+ std::vector<FaviconBitmapResult> bitmap_results;
backend_->UpdateFaviconMappingsAndFetch(
GURL(), std::vector<GURL>(), FAVICON, kSmallSize.width(),
- GetScaleFactors1x2x(), &results);
+ GetScaleFactors1x2x(), &bitmap_results);
- EXPECT_TRUE(results.bitmap_results.empty());
- EXPECT_TRUE(results.size_map.empty());
+ EXPECT_TRUE(bitmap_results.empty());
}
TEST_F(HistoryBackendTest, CloneFaviconIsRestrictedToSameDomain) {
@@ -2346,39 +2132,30 @@ TEST_F(HistoryBackendTest, CloneFaviconIsRestrictedToSameDomain) {
const GURL icon_url("http://www.google.com/icon.png");
// Add a favicon
- IconURLSizesMap icon_url_sizes;
- icon_url_sizes[icon_url] = GetSizesSmall();
-
std::vector<FaviconBitmapData> favicon_bitmap_data;
GenerateFaviconBitmapData(icon_url, GetSizesSmall(), &favicon_bitmap_data);
- backend_->SetFavicons(url, FAVICON, favicon_bitmap_data, icon_url_sizes);
+ backend_->SetFavicons(url, FAVICON, favicon_bitmap_data);
EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
url, FAVICON, NULL));
// Validate starting state.
std::vector<FaviconBitmapResult> bitmap_results_out;
- IconURLSizesMap icon_url_sizes_out;
EXPECT_TRUE(backend_->GetFaviconsFromDB(url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_FALSE(backend_->GetFaviconsFromDB(same_domain_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
EXPECT_FALSE(backend_->GetFaviconsFromDB(foreign_domain_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
// Same-domain cloning should work.
backend_->CloneFavicons(url, same_domain_url);
EXPECT_TRUE(backend_->GetFaviconsFromDB(same_domain_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
// Foreign-domain cloning is forbidden.
backend_->CloneFavicons(url, foreign_domain_url);
EXPECT_FALSE(backend_->GetFaviconsFromDB(foreign_domain_url, FAVICON,
- kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out,
- &icon_url_sizes_out));
+ kSmallSize.width(), GetScaleFactors1x2x(), &bitmap_results_out));
}
TEST_F(HistoryBackendTest, QueryFilteredURLs) {
« no previous file with comments | « chrome/browser/history/history_backend.cc ('k') | chrome/browser/history/history_types.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698