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

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

Issue 10802066: Adds support for saving favicon size into history database. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 5 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 20a59d262495a7d58c705fdd8b7d5e78ae58c299..f9f8b362007729ae709bf3dca09f8cfb2cc82209 100644
--- a/chrome/browser/history/history_backend_unittest.cc
+++ b/chrome/browser/history/history_backend_unittest.cc
@@ -45,6 +45,12 @@ namespace {
static const unsigned char blob1[] =
"12346102356120394751634516591348710478123649165419234519234512349134";
+const gfx::Size kFaviconRegularSize = gfx::Size(16, 16);
+const gfx::Size kFaviconLargeSize = gfx::Size(32, 32);
+
+const gfx::Size kFavicon1xSize = gfx::Size(16, 16);
+const gfx::Size kFavicon2xSize = gfx::Size(32, 32);
+
} // namepace
namespace history {
@@ -198,15 +204,38 @@ class HistoryBackendTest : public testing::Test {
return test_dir_;
}
- FaviconID GetFavicon(const GURL& url, IconType icon_type) {
- IconMapping icon_mapping;
- if (backend_->thumbnail_db_->GetIconMappingForPageURL(url, icon_type,
- &icon_mapping))
- return icon_mapping.icon_id;
+ FaviconID GetFaviconIDForPageURL(const GURL& page_url, IconType icon_type) {
+ std::vector<IconMapping> icon_mappings;
+ if (backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url, icon_type,
+ &icon_mappings))
+ return icon_mappings[0].icon_id;
else
return 0;
}
+ FaviconID GetFaviconIDForIconURL(const GURL& icon_url, IconType icon_type) {
+ std::vector<FaviconIDAndSize> favicon_id_size_listing;
+ backend_->thumbnail_db_->GetFaviconIDsForFaviconURL(
+ icon_url, icon_type, &favicon_id_size_listing);
+ if (favicon_id_size_listing.size() > 0)
+ return favicon_id_size_listing[0].icon_id;
+ else
+ return 0;
+ }
+
+ bool HasFaviconMapping(const GURL& page_url,
+ const gfx::Size& pixel_size,
+ int icon_types) {
+ std::vector<IconMapping> icon_mappings;
+ backend_->thumbnail_db_->GetIconMappingsForPageURL(page_url, icon_types,
+ &icon_mappings);
+ for (size_t i = 0; i < icon_mappings.size(); ++i) {
+ if (icon_mappings[i].icon_pixel_size == pixel_size)
+ return true;
+ }
+ return false;
+ }
+
BookmarkModel bookmark_model_;
protected:
@@ -293,10 +322,10 @@ TEST_F(HistoryBackendTest, DeleteAll) {
// deleted. This way we can test that updating works properly.
GURL favicon_url1("http://www.google.com/favicon.ico");
GURL favicon_url2("http://news.google.com/favicon.ico");
- FaviconID favicon2 = backend_->thumbnail_db_->AddFavicon(favicon_url2,
- FAVICON);
- FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(favicon_url1,
- FAVICON);
+ FaviconID favicon2 = backend_->thumbnail_db_->AddFavicon(
+ favicon_url2, kFaviconRegularSize, FAVICON);
+ FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(
+ favicon_url1, kFaviconRegularSize, FAVICON);
std::vector<unsigned char> data;
data.push_back('1');
@@ -403,16 +432,14 @@ TEST_F(HistoryBackendTest, DeleteAll) {
// We should have a favicon for the first URL only. We look them up by favicon
// URL since the IDs may hav changed.
- FaviconID out_favicon1 = backend_->thumbnail_db_->
- GetFaviconIDForFaviconURL(favicon_url1, FAVICON, NULL);
+ FaviconID out_favicon1 = GetFaviconIDForIconURL(favicon_url1, FAVICON);
EXPECT_TRUE(out_favicon1);
- FaviconID out_favicon2 = backend_->thumbnail_db_->
- GetFaviconIDForFaviconURL(favicon_url2, FAVICON, NULL);
+ FaviconID out_favicon2 = GetFaviconIDForIconURL(favicon_url2, FAVICON);
EXPECT_FALSE(out_favicon2) << "Favicon not deleted";
// The remaining URL should still reference the same favicon, even if its
// ID has changed.
- EXPECT_EQ(out_favicon1, GetFavicon(outrow1.url(), FAVICON));
+ EXPECT_EQ(out_favicon1, GetFaviconIDForPageURL(outrow1.url(), FAVICON));
// The first URL should still be bookmarked.
EXPECT_TRUE(bookmark_model_.IsBookmarked(row1.url()));
@@ -485,10 +512,10 @@ TEST_F(HistoryBackendTest, DeleteAllThenAddData) {
TEST_F(HistoryBackendTest, URLsNoLongerBookmarked) {
GURL favicon_url1("http://www.google.com/favicon.ico");
GURL favicon_url2("http://news.google.com/favicon.ico");
- FaviconID favicon2 = backend_->thumbnail_db_->AddFavicon(favicon_url2,
- FAVICON);
- FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(favicon_url1,
- FAVICON);
+ FaviconID favicon2 = backend_->thumbnail_db_->AddFavicon(
+ favicon_url2, kFaviconRegularSize, FAVICON);
+ FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(
+ favicon_url1, kFaviconRegularSize, FAVICON);
std::vector<unsigned char> data;
data.push_back('1');
@@ -534,10 +561,7 @@ TEST_F(HistoryBackendTest, URLsNoLongerBookmarked) {
backend_->db_->GetVisitsForURL(row2_id, &visits);
EXPECT_EQ(0U, visits.size());
// The favicon should still be valid.
- EXPECT_EQ(favicon2,
- backend_->thumbnail_db_->GetFaviconIDForFaviconURL(favicon_url2,
- FAVICON,
- NULL));
+ EXPECT_EQ(favicon2, GetFaviconIDForIconURL(favicon_url2, FAVICON));
// Unstar row2.
bookmark_utils::RemoveAllBookmarks(&bookmark_model_, row2.url());
@@ -551,10 +575,7 @@ TEST_F(HistoryBackendTest, URLsNoLongerBookmarked) {
// The URL should no longer exist.
EXPECT_FALSE(backend_->db_->GetRowForURL(row2.url(), &tmp_url_row));
// And the favicon should be deleted.
- EXPECT_EQ(0,
- backend_->thumbnail_db_->GetFaviconIDForFaviconURL(favicon_url2,
- FAVICON,
- NULL));
+ EXPECT_EQ(0, GetFaviconIDForIconURL(favicon_url2, FAVICON));
// Unstar row 1.
bookmark_utils::RemoveAllBookmarks(&bookmark_model_, row1.url());
@@ -573,10 +594,7 @@ TEST_F(HistoryBackendTest, URLsNoLongerBookmarked) {
EXPECT_EQ(1U, visits.size());
// The favicon should still be valid.
- EXPECT_EQ(favicon1,
- backend_->thumbnail_db_->GetFaviconIDForFaviconURL(favicon_url1,
- FAVICON,
- NULL));
+ EXPECT_EQ(favicon1, GetFaviconIDForIconURL(favicon_url1, FAVICON));
}
// Tests a handful of assertions for a navigation with a type of
@@ -662,8 +680,8 @@ TEST_F(HistoryBackendTest, ImportedFaviconsTest) {
// Setup test data - two Urls in the history, one with favicon assigned and
// one without.
GURL favicon_url1("http://www.google.com/favicon.ico");
- FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(favicon_url1,
- FAVICON);
+ FaviconID favicon1 = backend_->thumbnail_db_->AddFavicon(
+ favicon_url1, kFaviconRegularSize, FAVICON);
std::vector<unsigned char> data;
data.push_back('1');
EXPECT_TRUE(backend_->thumbnail_db_->SetFavicon(favicon1,
@@ -683,8 +701,8 @@ TEST_F(HistoryBackendTest, ImportedFaviconsTest) {
URLRow url_row1, url_row2;
EXPECT_FALSE(backend_->db_->GetRowForURL(row1.url(), &url_row1) == 0);
EXPECT_FALSE(backend_->db_->GetRowForURL(row2.url(), &url_row2) == 0);
- EXPECT_FALSE(GetFavicon(row1.url(), FAVICON) == 0);
- EXPECT_TRUE(GetFavicon(row2.url(), FAVICON) == 0);
+ EXPECT_FALSE(GetFaviconIDForPageURL(row1.url(), FAVICON) == 0);
+ EXPECT_TRUE(GetFaviconIDForPageURL(row2.url(), FAVICON) == 0);
// Now provide one imported favicon for both URLs already in the registry.
// The new favicon should only be used with the URL that doesn't already have
@@ -699,10 +717,10 @@ TEST_F(HistoryBackendTest, ImportedFaviconsTest) {
backend_->SetImportedFavicons(favicons);
EXPECT_FALSE(backend_->db_->GetRowForURL(row1.url(), &url_row1) == 0);
EXPECT_FALSE(backend_->db_->GetRowForURL(row2.url(), &url_row2) == 0);
- EXPECT_FALSE(GetFavicon(row1.url(), FAVICON) == 0);
- EXPECT_FALSE(GetFavicon(row2.url(), FAVICON) == 0);
- EXPECT_FALSE(GetFavicon(row1.url(), FAVICON) ==
- GetFavicon(row2.url(), FAVICON));
+ EXPECT_FALSE(GetFaviconIDForPageURL(row1.url(), FAVICON) == 0);
+ EXPECT_FALSE(GetFaviconIDForPageURL(row2.url(), FAVICON) == 0);
+ EXPECT_FALSE(GetFaviconIDForPageURL(row1.url(), FAVICON) ==
+ GetFaviconIDForPageURL(row2.url(), FAVICON));
// A URL should not be added to history (to store favicon), if
// the URL is not bookmarked.
@@ -1085,62 +1103,99 @@ TEST_F(HistoryBackendTest, SetFaviconMapping) {
const GURL icon_url("http://www.google.com/icon");
std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
// Add a favicon
- backend_->SetFavicon(
- url1, icon_url, base::RefCountedBytes::TakeVector(&data), FAVICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, FAVICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url2, FAVICON, NULL));
+ backend_->SetFavicon(url1,
+ icon_url,
+ base::RefCountedBytes::TakeVector(&data),
+ kFaviconRegularSize,
+ FAVICON);
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, FAVICON));
+ EXPECT_TRUE(HasFaviconMapping(url2, kFaviconRegularSize, FAVICON));
// Add a touch_icon
- backend_->SetFavicon(
- url1, icon_url, base::RefCountedBytes::TakeVector(&data), TOUCH_ICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, TOUCH_ICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url2, TOUCH_ICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, FAVICON, NULL));
+ backend_->SetFavicon(url1,
+ icon_url,
+ base::RefCountedBytes::TakeVector(&data),
+ kFaviconRegularSize,
+ TOUCH_ICON);
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url2, kFaviconRegularSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, FAVICON));
+
+ // Add a large touch icon
+ backend_->SetFavicon(url1,
+ icon_url,
+ base::RefCountedBytes::TakeVector(&data),
+ kFaviconLargeSize,
+ TOUCH_ICON);
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconLargeSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url2, kFaviconLargeSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, FAVICON));
// Add a TOUCH_PRECOMPOSED_ICON
backend_->SetFavicon(url1,
icon_url,
base::RefCountedBytes::TakeVector(&data),
+ kFaviconRegularSize,
TOUCH_PRECOMPOSED_ICON);
- // The touch_icon was replaced.
- EXPECT_FALSE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, TOUCH_ICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, FAVICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, TOUCH_PRECOMPOSED_ICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url2, TOUCH_PRECOMPOSED_ICON, NULL));
+ // The small touch_icon was replaced.
+ EXPECT_FALSE(HasFaviconMapping(url1, kFaviconRegularSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconLargeSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, FAVICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize,
+ TOUCH_PRECOMPOSED_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url2, kFaviconRegularSize,
+ TOUCH_PRECOMPOSED_ICON));
// Add a touch_icon
- backend_->SetFavicon(
- url1, icon_url, base::RefCountedBytes::TakeVector(&data), TOUCH_ICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, TOUCH_ICON, NULL));
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, FAVICON, NULL));
+ backend_->SetFavicon(url1,
+ icon_url,
+ base::RefCountedBytes::TakeVector(&data),
+ kFaviconRegularSize,
+ TOUCH_ICON);
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconLargeSize, TOUCH_ICON));
+ EXPECT_TRUE(HasFaviconMapping(url1, kFaviconRegularSize, FAVICON));
// The TOUCH_PRECOMPOSED_ICON was replaced.
- EXPECT_FALSE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url1, TOUCH_PRECOMPOSED_ICON, NULL));
+ EXPECT_FALSE(HasFaviconMapping(url1, kFaviconRegularSize,
+ TOUCH_PRECOMPOSED_ICON));
// Add a favicon
const GURL icon_url2("http://www.google.com/icon2");
- backend_->SetFavicon(
- url1, icon_url2, base::RefCountedBytes::TakeVector(&data), FAVICON);
- FaviconID icon_id = backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
- icon_url2, FAVICON, NULL);
- EXPECT_NE(0, icon_id);
- std::vector<IconMapping> icon_mapping;
+ backend_->SetFavicon(url1,
+ icon_url2,
+ base::RefCountedBytes::TakeVector(&data),
+ kFaviconRegularSize,
+ FAVICON);
+ FaviconID icon_id2 = GetFaviconIDForIconURL(icon_url2, FAVICON);
+ EXPECT_NE(icon_id2, 0);
+ std::vector<IconMapping> icon_mappings;
EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
- url1, &icon_mapping));
- // The old icon was replaced.
- EXPECT_TRUE(icon_mapping.size() > 1);
- EXPECT_EQ(icon_id, icon_mapping[1].icon_id);
+ url1, FAVICON, &icon_mappings));
+ EXPECT_EQ(1u, icon_mappings.size());
+ EXPECT_EQ(icon_id2, icon_mappings[0].icon_id);
+}
+
+TEST_F(HistoryBackendTest, ExceedPageFaviconLimit) {
+ const GURL page_url("http://www.google.com");
+ const GURL icon_url("http://www.google.com/icon");
+ std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
+
+ int size = 10;
+ size_t num_to_insert = kMaxFaviconsPerPage + 1;
+ for (size_t i = 0; i < num_to_insert; ++i) {
+ backend_->SetFavicon(page_url,
+ icon_url,
+ base::RefCountedBytes::TakeVector(&data),
+ gfx::Size(size, size),
+ FAVICON);
+ size++;
+ }
+
+ std::vector<IconMapping> icon_mappings;
+ EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
+ page_url, &icon_mappings));
+ EXPECT_EQ(kMaxFaviconsPerPage, icon_mappings.size());
}
TEST_F(HistoryBackendTest, AddOrUpdateIconMapping) {
@@ -1150,15 +1205,14 @@ TEST_F(HistoryBackendTest, AddOrUpdateIconMapping) {
const GURL icon_url("http://www.google.com/icon");
std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
- backend_->SetFavicon(
- url, icon_url, base::RefCountedBytes::TakeVector(&data), FAVICON);
- FaviconID icon_id = backend_->thumbnail_db_->GetFaviconIDForFaviconURL(
- icon_url, FAVICON, NULL);
+ backend_->SetFavicon(url, icon_url,
+ base::RefCountedBytes::TakeVector(&data), kFaviconRegularSize, FAVICON);
+ FaviconID icon_id = GetFaviconIDForIconURL(icon_url, FAVICON);
// Add the same mapping
FaviconID replaced;
EXPECT_FALSE(backend_->AddOrUpdateIconMapping(
- url, icon_id, FAVICON, &replaced));
+ url, icon_id, kFaviconRegularSize, FAVICON, &replaced));
EXPECT_EQ(0, replaced);
std::vector<IconMapping> icon_mapping;
@@ -1172,44 +1226,77 @@ TEST_F(HistoryBackendTest, GetFaviconForURL) {
// and check the behaviour of backend's GetFaviconForURL implementation.
const GURL url("http://www.google.com/");
const GURL icon_url("http://www.google.com/icon");
+
std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
- scoped_refptr<base::RefCountedBytes> bytes(new base::RefCountedBytes(data));
+ scoped_refptr<base::RefCountedBytes> bytes(
+ new base::RefCountedBytes(data));
// Used for testing the icon data after getting from DB
std::string blob_data(bytes->front(),
bytes->front() + bytes->size());
// Add a favicon
backend_->SetFavicon(
- url, icon_url, bytes.get(), FAVICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url, FAVICON, NULL));
+ url, icon_url, bytes.get(), kFavicon1xSize, FAVICON);
+ EXPECT_TRUE(HasFaviconMapping(url, kFavicon1xSize, FAVICON));
- // Add a touch_icon
+ // Add a small touch_icon
+ backend_->SetFavicon(
+ url, icon_url, bytes.get(), kFavicon1xSize, TOUCH_ICON);
+ EXPECT_TRUE(HasFaviconMapping(url, kFavicon1xSize, TOUCH_ICON));
+
+ // Add a large touch icon
backend_->SetFavicon(
- url, icon_url, bytes.get(), TOUCH_ICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
- url, TOUCH_ICON, NULL));
+ url, icon_url, bytes.get(), kFavicon2xSize, TOUCH_ICON);
+ EXPECT_TRUE(HasFaviconMapping(url, kFavicon2xSize, TOUCH_ICON));
- // Test the Fav icon for this URL.
+ // Test the Fav small icon for this URL.
FaviconData favicon;
- ASSERT_TRUE(backend_->GetFaviconFromDB(url, FAVICON, &favicon));
- std::string favicon_data(
- favicon.image_data->front(),
- favicon.image_data->front() + favicon.image_data->size());
+ ASSERT_TRUE(backend_->GetFaviconFromDB(url, kFavicon1xSize, FAVICON,
+ &favicon));
+ std::string favicon_data_1x(
+ favicon.bitmap_data->front(),
+ favicon.bitmap_data->front() + favicon.bitmap_data->size());
EXPECT_EQ(FAVICON, favicon.icon_type);
EXPECT_EQ(icon_url, favicon.icon_url);
- EXPECT_EQ(blob_data, favicon_data);
+ EXPECT_EQ(blob_data, favicon_data_1x);
+ EXPECT_EQ(kFavicon1xSize, favicon.requested_size);
- // Test the touch icon for this URL.
- ASSERT_TRUE(backend_->GetFaviconFromDB(url, TOUCH_ICON, &favicon));
- std::string touchicon_data(
- favicon.image_data->front(),
- favicon.image_data->front() + favicon.image_data->size());
+ // Test falling back to small icon if the large one is not present.
+ ASSERT_TRUE(backend_->GetFaviconFromDB(url, kFavicon2xSize, FAVICON,
+ &favicon));
+ std::string favicon_data_2x(
+ favicon.bitmap_data->front(),
+ favicon.bitmap_data->front() + favicon.bitmap_data->size());
+
+ EXPECT_EQ(FAVICON, favicon.icon_type);
+ EXPECT_EQ(icon_url, favicon.icon_url);
+ EXPECT_EQ(blob_data, favicon_data_2x);
+ EXPECT_EQ(kFavicon1xSize, favicon.requested_size);
+
+ // Test the small touch icon for this URL.
+ ASSERT_TRUE(backend_->GetFaviconFromDB(url, kFavicon1xSize, TOUCH_ICON,
+ &favicon));
+ std::string touchicon_1x_data(
+ favicon.bitmap_data->front(),
+ favicon.bitmap_data->front() + favicon.bitmap_data->size());
+
+ EXPECT_EQ(TOUCH_ICON, favicon.icon_type);
+ EXPECT_EQ(icon_url, favicon.icon_url);
+ EXPECT_EQ(blob_data, touchicon_1x_data);
+ EXPECT_EQ(kFavicon1xSize, favicon.requested_size);
+
+ // Test the large touch icon for this URL.
+ ASSERT_TRUE(backend_->GetFaviconFromDB(url, kFavicon2xSize, TOUCH_ICON,
+ &favicon));
+ std::string touchicon_2x_data(
+ favicon.bitmap_data->front(),
+ favicon.bitmap_data->front() + favicon.bitmap_data->size());
EXPECT_EQ(TOUCH_ICON, favicon.icon_type);
EXPECT_EQ(icon_url, favicon.icon_url);
- EXPECT_EQ(blob_data, touchicon_data);
+ EXPECT_EQ(blob_data, touchicon_2x_data);
+ EXPECT_EQ(kFavicon2xSize, favicon.requested_size);
}
TEST_F(HistoryBackendTest, CloneFaviconIsRestrictedToSameDomain) {
@@ -1222,25 +1309,28 @@ TEST_F(HistoryBackendTest, CloneFaviconIsRestrictedToSameDomain) {
std::vector<unsigned char> data(blob1, blob1 + sizeof(blob1));
scoped_refptr<base::RefCountedBytes> bytes(new base::RefCountedBytes(data));
backend_->SetFavicon(
- url, icon_url, bytes.get(), FAVICON);
- EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingForPageURL(
+ url, icon_url, bytes.get(), kFaviconRegularSize, FAVICON);
+ EXPECT_TRUE(backend_->thumbnail_db_->GetIconMappingsForPageURL(
url, FAVICON, NULL));
// Validate starting state.
FaviconData favicon;
- EXPECT_TRUE(backend_->GetFaviconFromDB(url, FAVICON, &favicon));
- EXPECT_FALSE(backend_->GetFaviconFromDB(same_domain_url, FAVICON, &favicon));
+ EXPECT_TRUE(backend_->GetFaviconFromDB(url, kFaviconRegularSize, FAVICON,
+ &favicon));
+ EXPECT_FALSE(backend_->GetFaviconFromDB(same_domain_url,
+ kFaviconRegularSize, FAVICON, &favicon));
EXPECT_FALSE(backend_->GetFaviconFromDB(foreign_domain_url,
- FAVICON, &favicon));
+ kFaviconRegularSize, FAVICON, &favicon));
// Same-domain cloning should work.
backend_->CloneFavicon(url, same_domain_url);
- EXPECT_TRUE(backend_->GetFaviconFromDB(same_domain_url, FAVICON, &favicon));
+ EXPECT_TRUE(backend_->GetFaviconFromDB(same_domain_url, kFaviconRegularSize,
+ FAVICON, &favicon));
// Foreign-domain cloning is forbidden.
backend_->CloneFavicon(url, foreign_domain_url);
EXPECT_FALSE(backend_->GetFaviconFromDB(foreign_domain_url,
- FAVICON, &favicon));
+ kFaviconRegularSize, FAVICON, &favicon));
}
TEST_F(HistoryBackendTest, QueryFilteredURLs) {

Powered by Google App Engine
This is Rietveld 408576698