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

Side by Side Diff: components/history/core/browser/thumbnail_database.h

Issue 1004373002: Add last_requested field to the favicon_bitmaps table of the favicons database. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Merge GetFaviconBitmapLastRequestedtime into GetFaviconBitmap. Created 5 years, 8 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_ 5 #ifndef COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_
6 #define COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_ 6 #define COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/gtest_prod_util.h" 10 #include "base/gtest_prod_util.h"
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 // Returns true if there are any matched bitmaps for the given |icon_id|. All 76 // Returns true if there are any matched bitmaps for the given |icon_id|. All
77 // matched results are returned if |favicon_bitmaps| is not NULL. 77 // matched results are returned if |favicon_bitmaps| is not NULL.
78 bool GetFaviconBitmaps(favicon_base::FaviconID icon_id, 78 bool GetFaviconBitmaps(favicon_base::FaviconID icon_id,
79 std::vector<FaviconBitmap>* favicon_bitmaps); 79 std::vector<FaviconBitmap>* favicon_bitmaps);
80 80
81 // Gets the last updated time, bitmap data, and pixel size of the favicon 81 // Gets the last updated time, bitmap data, and pixel size of the favicon
82 // bitmap at |bitmap_id|. Returns true if successful. 82 // bitmap at |bitmap_id|. Returns true if successful.
83 bool GetFaviconBitmap(FaviconBitmapID bitmap_id, 83 bool GetFaviconBitmap(FaviconBitmapID bitmap_id,
84 base::Time* last_updated, 84 base::Time* last_updated,
85 base::Time* last_requested,
85 scoped_refptr<base::RefCountedMemory>* png_icon_data, 86 scoped_refptr<base::RefCountedMemory>* png_icon_data,
86 gfx::Size* pixel_size); 87 gfx::Size* pixel_size);
87 88
88 // Adds a bitmap component at |pixel_size| for the favicon with |icon_id|. 89 // Adds a bitmap component at |pixel_size| for the favicon with |icon_id|.
89 // Only favicons representing a .ico file should have multiple favicon bitmaps 90 // Only favicons representing a .ico file should have multiple favicon bitmaps
90 // per favicon. 91 // per favicon.
91 // |icon_data| is the png encoded data. 92 // |icon_data| is the png encoded data.
92 // The |time| indicates the access time, and is used to detect when the 93 // The |time| indicates the access time, and is used to detect when the
93 // favicon should be refreshed. 94 // favicon should be refreshed.
94 // |pixel_size| is the pixel dimensions of |icon_data|. 95 // |pixel_size| is the pixel dimensions of |icon_data|.
95 // Returns the id of the added bitmap or 0 if unsuccessful. 96 // Returns the id of the added bitmap or 0 if unsuccessful.
96 FaviconBitmapID AddFaviconBitmap( 97 FaviconBitmapID AddFaviconBitmap(
97 favicon_base::FaviconID icon_id, 98 favicon_base::FaviconID icon_id,
98 const scoped_refptr<base::RefCountedMemory>& icon_data, 99 const scoped_refptr<base::RefCountedMemory>& icon_data,
99 base::Time time, 100 base::Time time,
100 const gfx::Size& pixel_size); 101 const gfx::Size& pixel_size);
101 102
102 // Sets the bitmap data and the last updated time for the favicon bitmap at 103 // Sets the bitmap data and the last updated time for the favicon bitmap at
103 // |bitmap_id|. 104 // |bitmap_id|.
104 // Returns true if successful. 105 // Returns true if successful.
105 bool SetFaviconBitmap(FaviconBitmapID bitmap_id, 106 bool SetFaviconBitmap(FaviconBitmapID bitmap_id,
106 scoped_refptr<base::RefCountedMemory> bitmap_data, 107 scoped_refptr<base::RefCountedMemory> bitmap_data,
107 base::Time time); 108 base::Time time);
108 109
109 // Sets the last updated time for the favicon bitmap at |bitmap_id|. 110 // Sets the last updated time for the favicon bitmap at |bitmap_id|.
110 // Returns true if successful. 111 // Returns true if successful.
111 bool SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id, 112 bool SetFaviconBitmapLastUpdateTime(FaviconBitmapID bitmap_id,
112 base::Time time); 113 base::Time time);
113 114
115 // Sets the last requested time for the favicon bitmap at |bitmap_id|.
116 // Returns true if successful.
117 bool SetFaviconBitmapLastRequestedTime(FaviconBitmapID bitmap_id,
118 base::Time time);
119
114 // Deletes the favicon bitmap with |bitmap_id|. 120 // Deletes the favicon bitmap with |bitmap_id|.
115 // Returns true if successful. 121 // Returns true if successful.
116 bool DeleteFaviconBitmap(FaviconBitmapID bitmap_id); 122 bool DeleteFaviconBitmap(FaviconBitmapID bitmap_id);
117 123
118 // Favicons ------------------------------------------------------------------ 124 // Favicons ------------------------------------------------------------------
119 125
120 // Sets the the favicon as out of date. This will set |last_updated| for all 126 // Sets the the favicon as out of date. This will set |last_updated| for all
121 // of the bitmaps for |icon_id| to be out of date. 127 // of the bitmaps for |icon_id| to be out of date.
122 bool SetFaviconOutOfDate(favicon_base::FaviconID icon_id); 128 bool SetFaviconOutOfDate(favicon_base::FaviconID icon_id);
123 129
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 // so failure causes any outer transaction to be rolled back. 240 // so failure causes any outer transaction to be rolled back.
235 bool RetainDataForPageUrls(const std::vector<GURL>& urls_to_keep); 241 bool RetainDataForPageUrls(const std::vector<GURL>& urls_to_keep);
236 242
237 private: 243 private:
238 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, RetainDataForPageUrls); 244 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, RetainDataForPageUrls);
239 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version3); 245 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version3);
240 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version4); 246 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version4);
241 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version5); 247 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version5);
242 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version6); 248 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version6);
243 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version7); 249 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version7);
250 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, Version8);
244 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, WildSchema); 251 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, WildSchema);
245 252
246 // Open database on a given filename. If the file does not exist, 253 // Open database on a given filename. If the file does not exist,
247 // it is created. 254 // it is created.
248 // |db| is the database to open. 255 // |db| is the database to open.
249 // |db_name| is a path to the database file. 256 // |db_name| is a path to the database file.
250 sql::InitStatus OpenDatabase(sql::Connection* db, 257 sql::InitStatus OpenDatabase(sql::Connection* db,
251 const base::FilePath& db_name); 258 const base::FilePath& db_name);
252 259
253 // Helper function to implement internals of Init(). This allows 260 // Helper function to implement internals of Init(). This allows
254 // Init() to retry in case of failure, since some failures run 261 // Init() to retry in case of failure, since some failures run
255 // recovery code. 262 // recovery code.
256 sql::InitStatus InitImpl(const base::FilePath& db_name); 263 sql::InitStatus InitImpl(const base::FilePath& db_name);
257 264
258 // Helper function to handle cleanup on upgrade failures. 265 // Helper function to handle cleanup on upgrade failures.
259 sql::InitStatus CantUpgradeToVersion(int cur_version); 266 sql::InitStatus CantUpgradeToVersion(int cur_version);
260 267
261 // Adds support for size in favicons table. 268 // Adds support for size in favicons table.
262 bool UpgradeToVersion6(); 269 bool UpgradeToVersion6();
263 270
264 // Removes sizes column. 271 // Removes sizes column.
265 bool UpgradeToVersion7(); 272 bool UpgradeToVersion7();
266 273
274 // Adds support for bitmap usage tracking.
275 bool UpgradeToVersion8();
276
267 // Returns true if the |favicons| database is missing a column. 277 // Returns true if the |favicons| database is missing a column.
268 bool IsFaviconDBStructureIncorrect(); 278 bool IsFaviconDBStructureIncorrect();
269 279
270 sql::Connection db_; 280 sql::Connection db_;
271 sql::MetaTable meta_table_; 281 sql::MetaTable meta_table_;
272 282
273 HistoryClient* history_client_; 283 HistoryClient* history_client_;
274 }; 284 };
275 285
276 } // namespace history 286 } // namespace history
277 287
278 #endif // COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_ 288 #endif // COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_
OLDNEW
« no previous file with comments | « components/history/core/browser/history_types.h ('k') | components/history/core/browser/thumbnail_database.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698