| 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);
|
|
|
|
|