Index: chrome/browser/history/history_types.h |
diff --git a/chrome/browser/history/history_types.h b/chrome/browser/history/history_types.h |
index bd440840f405aab1f872a9bcd3b80a1888430b75..793015c3215d054bd28eee500a4760c7832382b5 100644 |
--- a/chrome/browser/history/history_types.h |
+++ b/chrome/browser/history/history_types.h |
@@ -751,6 +751,9 @@ struct IconMapping { |
// The unique id of the icon. |
FaviconID icon_id; |
+ // The url of the icon. |
+ GURL icon_url; |
+ |
// The type of icon. |
IconType icon_type; |
}; |
@@ -773,6 +776,24 @@ struct FaviconBitmapData { |
gfx::Size pixel_size; |
}; |
+// Sizes represents the sizes that the thumbnail database knows a favicon is |
+// available at from the web. This can be different from the pixel sizes of |
+// the entries in the favicon_bitmaps table for a favicon. For instance, if |
+// a web page has a .ico favicon with bitmaps of pixel sizes |
+// (16x16, 24x24, 32x32), FaviconSizes will have all three pixel sizes |
+// regardless of whether bitmaps for all three pixel sizes are stored in the |
+// favicon_bitmaps database table. However, the pixel sizes of favicon bitmaps |
+// stored for a FaviconID must be a subset of the FaviconSizes for the favicon. |
+typedef std::vector<gfx::Size> FaviconSizes; |
+ |
+// The default favicon sizes to use if the favicon sizes for a FaviconID are |
+// unknown. |
+// Do not use this parameter in HistoryBackend::SetFaviconSizes if at all |
+// possible. |
+const FaviconSizes kDefaultFaviconSizes(1, gfx::Size()); |
+ |
+typedef std::map<GURL, FaviconSizes> IconURLSizesMap; |
+ |
// Defines the result of a query for favicon data. |
struct FaviconData { |
FaviconData(); |
@@ -803,13 +824,27 @@ struct FaviconData { |
// if this object represents a .ico file with bitmaps of pixel sizes 16x16 |
// and 32x32, |sizes| will have two entries. |bitmaps| does not necessarily |
// have entries for each entry in |sizes|. |
- std::vector<gfx::Size> sizes; |
+ FaviconSizes sizes; |
// The bitmaps whose pixel sizes best match the optimal favicon size of 16x16 |
// for 1x and 32x32 for 2x. |
std::vector<FaviconBitmapData> bitmaps; |
}; |
+// Defines a favicon bitmap and its associated pixel size. |
+struct FaviconBitmapIDSize { |
+ FaviconBitmapIDSize(); |
+ ~FaviconBitmapIDSize(); |
+ |
+ // The unique id of the favicon bitmap. |
+ FaviconBitmapID bitmap_id; |
+ |
+ // The pixel dimensions of the associated bitmap. |
+ gfx::Size pixel_size; |
+}; |
+ |
+typedef std::vector<FaviconBitmapIDSize> FaviconBitampIDSizeList; |
+ |
// Defines a favicon bitmap stored in the history backend. |
struct FaviconBitmap { |
FaviconBitmap(); |