Index: chrome/browser/history/thumbnail_database_unittest.cc |
diff --git a/chrome/browser/history/thumbnail_database_unittest.cc b/chrome/browser/history/thumbnail_database_unittest.cc |
index 011772907e47d200bde7f0f38e317793d9ad3f29..21a649eec71dfdce7f9b1c11491c6269b36ff18a 100644 |
--- a/chrome/browser/history/thumbnail_database_unittest.cc |
+++ b/chrome/browser/history/thumbnail_database_unittest.cc |
@@ -46,6 +46,11 @@ const double kTotallyBoring = 1.0; |
const int64 kPage1 = 1234; |
+const gfx::Size kSmallSize = gfx::Size(16, 16); |
+const gfx::Size kLargeSize = gfx::Size(32, 32); |
+ |
+const std::string kSizesSmallAndLarge = "16 16 32 32"; |
+ |
} // namespace |
class ThumbnailDatabaseTest : public testing::Test { |
@@ -119,25 +124,57 @@ TEST_F(ThumbnailDatabaseTest, GetFaviconAfterMigrationToTopSites) { |
scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
GURL url("http://google.com"); |
- FaviconID id = db.AddFavicon(url, FAVICON); |
+ FaviconID icon_id = db.AddFavicon(url, FAVICON); |
+ db.SetFaviconSizes(icon_id, kSizesSmallAndLarge); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ FaviconBitmapID bitmap1_id = db.AddFaviconBitmap(icon_id, favicon, time, |
+ kSmallSize); |
+ FaviconBitmapID bitmap2_id = db.AddFaviconBitmap(icon_id, favicon, time, |
+ kLargeSize); |
EXPECT_TRUE(db.RenameAndDropThumbnails(file_name_, new_file_name_)); |
EXPECT_TRUE(db.IsLatestVersion()); |
- base::Time time_out; |
- std::vector<unsigned char> favicon_out; |
GURL url_out; |
IconType icon_type_out; |
- EXPECT_TRUE(db.GetFavicon(id, &time_out, &favicon_out, &url_out, |
- &icon_type_out)); |
+ std::string sizes_out; |
+ EXPECT_TRUE(db.GetFaviconHeader(icon_id, &url_out, &icon_type_out, |
+ &sizes_out)); |
+ |
EXPECT_EQ(url, url_out); |
- EXPECT_EQ(time.ToTimeT(), time_out.ToTimeT()); |
- ASSERT_EQ(data.size(), favicon_out.size()); |
+ EXPECT_EQ(FAVICON, icon_type_out); |
+ EXPECT_STREQ(kSizesSmallAndLarge.c_str(), sizes_out.c_str()); |
+ |
+ std::vector<FaviconBitmap> favicon_bitmaps_out; |
+ EXPECT_TRUE(db.GetFaviconBitmaps(icon_id, &favicon_bitmaps_out)); |
+ EXPECT_EQ(2u, favicon_bitmaps_out.size()); |
+ |
+ FaviconBitmap favicon_bitmap1 = favicon_bitmaps_out[0]; |
+ FaviconBitmap favicon_bitmap2 = favicon_bitmaps_out[1]; |
+ |
+ // Bitmaps do not need to be in particular order. |
+ if (favicon_bitmap1.bitmap_id == bitmap2_id) { |
+ FaviconBitmap tmp_favicon_bitmap = favicon_bitmap1; |
+ favicon_bitmap1 = favicon_bitmap2; |
+ favicon_bitmap2 = tmp_favicon_bitmap; |
+ } |
+ |
+ EXPECT_EQ(bitmap1_id, favicon_bitmap1.bitmap_id); |
+ EXPECT_EQ(icon_id, favicon_bitmap1.icon_id); |
+ EXPECT_EQ(time.ToTimeT(), favicon_bitmap1.last_updated.ToTimeT()); |
+ EXPECT_EQ(data.size(), favicon_bitmap1.bitmap_data->size()); |
EXPECT_TRUE(std::equal(data.begin(), |
data.end(), |
- favicon_out.begin())); |
- EXPECT_EQ(FAVICON, icon_type_out); |
+ favicon_bitmap1.bitmap_data->front())); |
+ EXPECT_EQ(kSmallSize, favicon_bitmap1.pixel_size); |
+ |
+ EXPECT_EQ(bitmap2_id, favicon_bitmap2.bitmap_id); |
+ EXPECT_EQ(icon_id, favicon_bitmap2.icon_id); |
+ EXPECT_EQ(time.ToTimeT(), favicon_bitmap2.last_updated.ToTimeT()); |
+ EXPECT_EQ(data.size(), favicon_bitmap2.bitmap_data->size()); |
+ EXPECT_TRUE(std::equal(data.begin(), |
+ data.end(), |
+ favicon_bitmap2.bitmap_data->front())); |
+ EXPECT_EQ(kLargeSize, favicon_bitmap2.pixel_size); |
} |
TEST_F(ThumbnailDatabaseTest, AddIconMapping) { |
@@ -152,7 +189,7 @@ TEST_F(ThumbnailDatabaseTest, AddIconMapping) { |
FaviconID id = db.AddFavicon(url, TOUCH_ICON); |
EXPECT_NE(0, id); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ db.AddFaviconBitmap(id, favicon, time, gfx::Size()); |
EXPECT_NE(0, db.AddIconMapping(url, id)); |
std::vector<IconMapping> icon_mapping; |
@@ -173,7 +210,7 @@ TEST_F(ThumbnailDatabaseTest, UpdateIconMapping) { |
GURL url("http://google.com"); |
FaviconID id = db.AddFavicon(url, TOUCH_ICON); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ db.AddFaviconBitmap(id, favicon, time, gfx::Size()); |
EXPECT_TRUE(0 < db.AddIconMapping(url, id)); |
std::vector<IconMapping> icon_mapping; |
@@ -205,11 +242,11 @@ TEST_F(ThumbnailDatabaseTest, DeleteIconMappings) { |
GURL url("http://google.com"); |
FaviconID id = db.AddFavicon(url, TOUCH_ICON); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ db.AddFaviconBitmap(id, favicon, time, gfx::Size()); |
EXPECT_TRUE(0 < db.AddIconMapping(url, id)); |
FaviconID id2 = db.AddFavicon(url, FAVICON); |
- db.SetFavicon(id2, favicon, time); |
+ db.AddFaviconBitmap(id2, favicon, time, gfx::Size()); |
EXPECT_TRUE(0 < db.AddIconMapping(url, id2)); |
ASSERT_NE(id, id2); |
@@ -237,21 +274,23 @@ TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURL) { |
FaviconID id1 = db.AddFavicon(url, TOUCH_ICON); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id1, favicon, time); |
+ db.AddFaviconBitmap(id1, favicon, time, kSmallSize); |
+ db.AddFaviconBitmap(id1, favicon, time, kLargeSize); |
EXPECT_TRUE(0 < db.AddIconMapping(url, id1)); |
FaviconID id2 = db.AddFavicon(url, FAVICON); |
EXPECT_NE(id1, id2); |
- db.SetFavicon(id2, favicon, time); |
+ db.AddFaviconBitmap(id2, favicon, time, kSmallSize); |
EXPECT_TRUE(0 < db.AddIconMapping(url, id2)); |
- std::vector<IconMapping> icon_mapping; |
- EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mapping)); |
- ASSERT_EQ(2u, icon_mapping.size()); |
- EXPECT_NE(icon_mapping[0].icon_id, icon_mapping[1].icon_id); |
- EXPECT_TRUE(icon_mapping[0].icon_id == id1 && icon_mapping[1].icon_id == id2); |
+ std::vector<IconMapping> icon_mappings; |
+ EXPECT_TRUE(db.GetIconMappingsForPageURL(url, &icon_mappings)); |
+ ASSERT_EQ(2u, icon_mappings.size()); |
+ EXPECT_EQ(id1, icon_mappings[0].icon_id); |
+ EXPECT_EQ(id2, icon_mappings[1].icon_id); |
} |
+// Test upgrading database to version 4. |
TEST_F(ThumbnailDatabaseTest, UpgradeToVersion4) { |
ThumbnailDatabase db; |
ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
@@ -275,21 +314,23 @@ TEST_F(ThumbnailDatabaseTest, UpgradeToVersion4) { |
EXPECT_TRUE(db.UpgradeToVersion4()); |
- std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
- scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
- |
GURL url("http://google.com"); |
- FaviconID id = db.AddFavicon(url, TOUCH_ICON); |
- base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
- EXPECT_TRUE(0 < db.AddIconMapping(url, id)); |
- IconMapping icon_mapping; |
- EXPECT_TRUE(db.GetIconMappingForPageURL(url, TOUCH_ICON, &icon_mapping)); |
- EXPECT_EQ(url, icon_mapping.page_url); |
- EXPECT_EQ(id, icon_mapping.icon_id); |
+ sql::Statement statement; |
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE, |
+ "INSERT INTO favicons (url, icon_type) VALUES (?, ?)")); |
+ statement.BindString(0, URLDatabase::GURLToDatabaseURL(url)); |
+ statement.BindInt(1, TOUCH_ICON); |
+ EXPECT_TRUE(statement.Run()); |
+ |
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE, |
+ "SELECT icon_type FROM favicons")); |
+ EXPECT_TRUE(statement.Step()); |
+ |
+ EXPECT_EQ(TOUCH_ICON, static_cast<IconType>(statement.ColumnInt(0))); |
} |
+// Test upgrading database to version 5. |
TEST_F(ThumbnailDatabaseTest, UpgradeToVersion5) { |
ThumbnailDatabase db; |
ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
@@ -318,29 +359,144 @@ TEST_F(ThumbnailDatabaseTest, UpgradeToVersion5) { |
EXPECT_TRUE(db.db_.Execute(sql.c_str())); |
} |
-TEST_F(ThumbnailDatabaseTest, TemporayIconMapping) { |
+// Test upgrading database to version 6. |
+TEST_F(ThumbnailDatabaseTest, UpgradeToVersion6) { |
+ ThumbnailDatabase db; |
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
+ db.BeginTransaction(); |
+ |
+ const char* name = "favicons"; |
+ std::string sql; |
+ sql.append("DROP TABLE IF EXISTS "); |
+ sql.append(name); |
+ EXPECT_TRUE(db.db_.Execute(sql.c_str())); |
+ |
+ sql.clear(); |
+ sql.append("CREATE TABLE "); |
+ sql.append(name); |
+ sql.append("(" |
+ "id INTEGER PRIMARY KEY," |
+ "url LONGVARCHAR NOT NULL," |
+ "last_updated INTEGER DEFAULT 0," |
+ "image_data BLOB," |
+ "icon_type INTEGER DEFAULT 1," |
+ "sizes LONGVARCHAR)"); |
+ EXPECT_TRUE(db.db_.Execute(sql.c_str())); |
+ |
+ int favicon_id = 1; |
+ GURL url("http://google.com"); |
+ time_t last_updated = Time::Now().ToTimeT(); |
+ std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
+ scoped_refptr<base::RefCountedBytes> bitmap_data( |
+ new base::RefCountedBytes(data)); |
+ |
+ sql::Statement statement; |
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE, |
+ "INSERT INTO favicons (id, url, last_updated, image_data, icon_type, " |
+ "sizes) VALUES (?, ?, ?, ?, ?, ?)")); |
+ statement.BindInt(0, favicon_id); |
+ statement.BindString(1, URLDatabase::GURLToDatabaseURL(url)); |
+ statement.BindInt64(2, last_updated); |
+ statement.BindBlob(3, bitmap_data->front(), |
+ static_cast<int>(bitmap_data->size())); |
+ statement.BindInt(4, TOUCH_ICON); |
+ statement.BindCString(5, "Data which happened to be there"); |
+ EXPECT_TRUE(statement.Run()); |
+ |
+ EXPECT_TRUE(db.UpgradeToVersion6()); |
+ |
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE, |
+ "SELECT id, url, icon_type, sizes FROM favicons")); |
+ EXPECT_TRUE(statement.Step()); |
+ EXPECT_EQ(favicon_id, statement.ColumnInt(0)); |
+ EXPECT_EQ(url, GURL(statement.ColumnString(1))); |
+ EXPECT_EQ(TOUCH_ICON, statement.ColumnInt(2)); |
+ // Any previous data in sizes should be cleared. |
+ EXPECT_EQ(std::string(""), statement.ColumnString(3)); |
+ |
+ statement.Assign(db.db_.GetCachedStatement(SQL_FROM_HERE, |
+ "SELECT icon_id, last_updated, image_data, width, height " |
+ "FROM favicon_bitmaps")); |
+ EXPECT_TRUE(statement.Step()); |
+ EXPECT_EQ(favicon_id, statement.ColumnInt(0)); |
+ EXPECT_EQ(last_updated, statement.ColumnInt64(1)); |
+ EXPECT_EQ(static_cast<int>(bitmap_data->size()), |
+ statement.ColumnByteLength(2)); |
+ EXPECT_EQ(0, statement.ColumnInt(3)); |
+ EXPECT_EQ(0, statement.ColumnInt(4)); |
+} |
+ |
+// Test that only data moved to a temporary table is left in the main table |
+// once the temporary table is committed. |
+TEST_F(ThumbnailDatabaseTest, TemporaryTables) { |
ThumbnailDatabase db; |
ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
db.BeginTransaction(); |
- EXPECT_TRUE(db.InitTemporaryIconMappingTable()); |
+ EXPECT_TRUE(db.InitTemporaryTables()); |
std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1)); |
scoped_refptr<base::RefCountedBytes> favicon(new base::RefCountedBytes(data)); |
+ GURL unkept_url("http://google.com/favicon2.ico"); |
+ FaviconID unkept_id = db.AddFavicon(unkept_url, FAVICON); |
+ db.AddFaviconBitmap(unkept_id, favicon, base::Time::Now(), kSmallSize); |
+ |
+ GURL kept_url("http://google.com/favicon.ico"); |
+ FaviconID kept_id = db.AddFavicon(kept_url, FAVICON); |
+ db.AddFaviconBitmap(kept_id, favicon, base::Time::Now(), kLargeSize); |
+ |
+ GURL page_url("http://google.com"); |
+ db.AddIconMapping(page_url, unkept_id); |
+ db.AddIconMapping(page_url, kept_id); |
+ |
+ FaviconID new_favicon_id = |
+ db.CopyFaviconAndFaviconBitmapsToTemporaryTables(kept_id); |
+ EXPECT_NE(0, new_favicon_id); |
+ EXPECT_TRUE(db.AddToTemporaryIconMappingTable(page_url, new_favicon_id)); |
+ |
+ EXPECT_TRUE(db.CommitTemporaryTables()); |
+ |
+ // Only copied data should be left. |
+ IconMapping icon_mapping; |
+ EXPECT_TRUE(db.GetIconMappingForPageURL(page_url, FAVICON, &icon_mapping)); |
+ EXPECT_EQ(new_favicon_id, icon_mapping.icon_id); |
+ EXPECT_EQ(page_url, icon_mapping.page_url); |
+ |
+ std::vector<FaviconBitmap> favicon_bitmaps; |
+ EXPECT_TRUE(db.GetFaviconBitmaps(icon_mapping.icon_id, &favicon_bitmaps)); |
+ EXPECT_EQ(1u, favicon_bitmaps.size()); |
+ EXPECT_EQ(kLargeSize, favicon_bitmaps[0].pixel_size); |
+ |
+ EXPECT_FALSE(db.GetFaviconIDForFaviconURL(unkept_url, false, NULL)); |
+} |
+ |
+// Tests that deleting a favicon deletes the favicon row and favicon bitmap |
+// rows from the database. |
+TEST_F(ThumbnailDatabaseTest, DeleteFavicon) { |
+ ThumbnailDatabase db; |
+ ASSERT_EQ(sql::INIT_OK, db.Init(file_name_, NULL, NULL)); |
+ db.BeginTransaction(); |
+ |
+ std::vector<unsigned char> data1(blob1, blob1 + sizeof(blob1)); |
+ scoped_refptr<base::RefCountedBytes> favicon1( |
+ new base::RefCountedBytes(data1)); |
+ std::vector<unsigned char> data2(blob2, blob2 + sizeof(blob2)); |
+ scoped_refptr<base::RefCountedBytes> favicon2( |
+ new base::RefCountedBytes(data2)); |
+ |
GURL url("http://google.com"); |
FaviconID id = db.AddFavicon(url, FAVICON); |
- base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ base::Time last_updated = base::Time::Now(); |
+ db.AddFaviconBitmap(id, favicon1, last_updated, kSmallSize); |
+ db.AddFaviconBitmap(id, favicon2, last_updated, kLargeSize); |
- db.AddToTemporaryIconMappingTable(url, id); |
- db.CommitTemporaryIconMappingTable(); |
- IconMapping icon_mapping; |
- EXPECT_TRUE(db.GetIconMappingForPageURL(url, FAVICON, &icon_mapping)); |
- EXPECT_EQ(id, icon_mapping.icon_id); |
- EXPECT_EQ(url, icon_mapping.page_url); |
+ EXPECT_TRUE(db.GetFaviconBitmaps(id, NULL)); |
+ |
+ EXPECT_TRUE(db.DeleteFavicon(id)); |
+ EXPECT_FALSE(db.GetFaviconBitmaps(id, NULL)); |
} |
TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { |
@@ -355,7 +511,7 @@ TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { |
GURL url("http://google.com"); |
FaviconID id = db.AddFavicon(url, FAVICON); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id, favicon, time); |
+ db.AddFaviconBitmap(id, favicon, time, gfx::Size()); |
EXPECT_NE(0, db.AddIconMapping(url, id)); |
std::vector<IconMapping> icon_mapping; |
@@ -371,7 +527,7 @@ TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { |
new base::RefCountedBytes(data); |
FaviconID id2 = db.AddFavicon(url, TOUCH_ICON); |
- db.SetFavicon(id2, favicon2, time); |
+ db.AddFaviconBitmap(id2, favicon2, time, gfx::Size()); |
EXPECT_NE(0, db.AddIconMapping(url, id2)); |
icon_mapping.clear(); |
@@ -386,7 +542,7 @@ TEST_F(ThumbnailDatabaseTest, GetIconMappingsForPageURLForReturnOrder) { |
new base::RefCountedBytes(data2); |
FaviconID id3 = db.AddFavicon(url, TOUCH_PRECOMPOSED_ICON); |
- db.SetFavicon(id3, favicon3, time); |
+ db.AddFaviconBitmap(id3, favicon3, time, gfx::Size()); |
EXPECT_NE(0, db.AddIconMapping(url, id3)); |
icon_mapping.clear(); |
@@ -409,19 +565,19 @@ TEST_F(ThumbnailDatabaseTest, HasMappingFor) { |
FaviconID id1 = db.AddFavicon(GURL("http://google.com"), FAVICON); |
EXPECT_NE(id1, 0); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id1, favicon, time); |
+ db.AddFaviconBitmap(id1, favicon, time, gfx::Size()); |
// Add another type of favicon |
FaviconID id2 = db.AddFavicon(GURL("http://www.google.com/icon"), TOUCH_ICON); |
EXPECT_NE(id2, 0); |
time = base::Time::Now(); |
- db.SetFavicon(id2, favicon, time); |
+ db.AddFaviconBitmap(id2, favicon, time, gfx::Size()); |
// Add 3rd favicon |
FaviconID id3 = db.AddFavicon(GURL("http://www.google.com/icon"), TOUCH_ICON); |
EXPECT_NE(id3, 0); |
time = base::Time::Now(); |
- db.SetFavicon(id3, favicon, time); |
+ db.AddFaviconBitmap(id3, favicon, time, gfx::Size()); |
// Add 2 icon mapping |
GURL page_url("http://www.google.com"); |
@@ -451,19 +607,19 @@ TEST_F(ThumbnailDatabaseTest, CloneIconMapping) { |
FaviconID id1 = db.AddFavicon(GURL("http://google.com"), FAVICON); |
EXPECT_NE(0, id1); |
base::Time time = base::Time::Now(); |
- db.SetFavicon(id1, favicon, time); |
+ db.AddFaviconBitmap(id1, favicon, time, gfx::Size()); |
// Add another type of favicon |
FaviconID id2 = db.AddFavicon(GURL("http://www.google.com/icon"), TOUCH_ICON); |
EXPECT_NE(0, id2); |
time = base::Time::Now(); |
- db.SetFavicon(id2, favicon, time); |
+ db.AddFaviconBitmap(id2, favicon, time, gfx::Size()); |
// Add 3rd favicon |
FaviconID id3 = db.AddFavicon(GURL("http://www.google.com/icon"), TOUCH_ICON); |
EXPECT_NE(0, id3); |
time = base::Time::Now(); |
- db.SetFavicon(id3, favicon, time); |
+ db.AddFaviconBitmap(id3, favicon, time, gfx::Size()); |
GURL page1_url("http://page1.com"); |
EXPECT_TRUE(db.AddIconMapping(page1_url, id1)); |
@@ -523,7 +679,7 @@ TEST_F(IconMappingMigrationTest, TestIconMappingMigration) { |
EXPECT_EQ(page_url1, icon_mappings[0].page_url); |
EXPECT_EQ(1, icon_mappings[0].icon_id); |
base::Time time; |
- std::vector<unsigned char> out_data; |
+ scoped_refptr<base::RefCountedMemory> out_data; |
GURL out_icon_url; |
ASSERT_TRUE(db.GetFavicon( |
icon_mappings[0].icon_id, &time, &out_data, &out_icon_url, NULL)); |
@@ -566,20 +722,23 @@ TEST_F(ThumbnailDatabaseTest, IconMappingEnumerator) { |
GURL url("http://google.com"); |
FaviconID touch_icon_id1 = db.AddFavicon(url, TOUCH_ICON); |
ASSERT_NE(0, touch_icon_id1); |
- ASSERT_TRUE(db.SetFavicon(touch_icon_id1, favicon, base::Time::Now())); |
+ ASSERT_TRUE(db.AddFaviconBitmap(touch_icon_id1, favicon, base::Time::Now(), |
+ gfx::Size())); |
IconMappingID touch_mapping_id1 = db.AddIconMapping(url, touch_icon_id1); |
ASSERT_NE(0, touch_mapping_id1); |
FaviconID favicon_id1 = db.AddFavicon(url, FAVICON); |
ASSERT_NE(0, favicon_id1); |
- ASSERT_TRUE(db.SetFavicon(favicon_id1, favicon, base::Time::Now())); |
+ ASSERT_TRUE(db.AddFaviconBitmap(favicon_id1, favicon, base::Time::Now(), |
+ gfx::Size())); |
IconMappingID favicon_mapping_id1 = db.AddIconMapping(url, favicon_id1); |
ASSERT_NE(0, favicon_mapping_id1); |
GURL url2("http://chromium.org"); |
FaviconID favicon_id2 = db.AddFavicon(url2, FAVICON); |
ASSERT_NE(0, favicon_id2); |
- ASSERT_TRUE(db.SetFavicon(favicon_id2, favicon, base::Time::Now())); |
+ ASSERT_TRUE(db.AddFaviconBitmap(favicon_id2, favicon, base::Time::Now(), |
+ gfx::Size())); |
IconMappingID favicon_mapping_id2 = db.AddIconMapping(url2, favicon_id2); |
ASSERT_NE(0, favicon_mapping_id2); |