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

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

Issue 10870022: Change FaviconData to be able to return data for multiple bitmaps for same icon URL (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.cc
diff --git a/chrome/browser/history/history_types.cc b/chrome/browser/history/history_types.cc
index d1c572855c6783ccc47a081463b88c867ae94ffb..7f79a96e872e43a4d25d3663fa8e73b7f8299e78 100644
--- a/chrome/browser/history/history_types.cc
+++ b/chrome/browser/history/history_types.cc
@@ -90,14 +90,6 @@ VisitRow::VisitRow(URLID arg_url_id,
VisitRow::~VisitRow() {
}
-// Favicons -------------------------------------------------------------------
-
-ImportedFaviconUsage::ImportedFaviconUsage() {
-}
-
-ImportedFaviconUsage::~ImportedFaviconUsage() {
-}
-
// StarredEntry ----------------------------------------------------------------
StarredEntry::StarredEntry()
@@ -429,18 +421,46 @@ IconMapping::IconMapping()
IconMapping::~IconMapping() {}
+// FaviconBitmapData ----------------------------------------------------------
+
+FaviconBitmapData::FaviconBitmapData()
+ : expired(false) {
+}
+
+FaviconBitmapData::~FaviconBitmapData() {
+}
+
+bool FaviconBitmapData::is_valid() const {
+ return bitmap_data.get() && bitmap_data->size();
sky 2012/08/23 15:50:38 inline this.
+}
+
// FaviconData ----------------------------------------------------------------
FaviconData::FaviconData()
- : known_icon(false),
- expired(false),
- icon_type(history::INVALID_ICON) {
+ : icon_type(history::INVALID_ICON) {
}
FaviconData::~FaviconData() {}
-bool FaviconData::is_valid() {
- return known_icon && image_data.get() && image_data->size();
+bool FaviconData::has_valid_bitmaps() const {
+ for (size_t i = 0; i < bitmaps.size(); ++i) {
+ if (!bitmaps[i].is_valid())
+ return false;
+ }
+ return !bitmaps.empty();
+}
+
+bool FaviconData::expired() const {
+ for (size_t i = 0; i < bitmaps.size(); ++i) {
+ if (bitmaps[i].expired)
+ return true;
+ }
+ return false;
+}
+
+scoped_refptr<base::RefCountedMemory> FaviconData::first_bitmap() const {
+ return bitmaps.empty() ?
+ scoped_refptr<base::RefCountedMemory>(NULL) : bitmaps[0].bitmap_data;
}
// FaviconBitmap --------------------------------------------------------------
@@ -453,4 +473,12 @@ FaviconBitmap::FaviconBitmap()
FaviconBitmap::~FaviconBitmap() {
}
+// ImportedFaviconUsage --------------------------------------------------------
+
+ImportedFaviconUsage::ImportedFaviconUsage() {
+}
+
+ImportedFaviconUsage::~ImportedFaviconUsage() {
+}
+
} // namespace history

Powered by Google App Engine
This is Rietveld 408576698