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

Unified Diff: chrome/browser/history/history_types.h

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, 4 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_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();

Powered by Google App Engine
This is Rietveld 408576698