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

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

Issue 2903573002: [Thumbnails DB] Add functionality to clear unused on-demand favicons. (Closed)
Patch Set: Compile error fixes #2 Created 3 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 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 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 void RollbackTransaction(); 59 void RollbackTransaction();
60 60
61 // Vacuums the database. This will cause sqlite to defragment and collect 61 // Vacuums the database. This will cause sqlite to defragment and collect
62 // unused space in the file. It can be VERY SLOW. 62 // unused space in the file. It can be VERY SLOW.
63 void Vacuum(); 63 void Vacuum();
64 64
65 // Try to trim the cache memory used by the database. If |aggressively| is 65 // Try to trim the cache memory used by the database. If |aggressively| is
66 // true try to trim all unused cache, otherwise trim by half. 66 // true try to trim all unused cache, otherwise trim by half.
67 void TrimMemory(bool aggressively); 67 void TrimMemory(bool aggressively);
68 68
69 // Get all on-demand favicon bitmaps that have been last requested prior to
70 // |threshold|.
71 std::map<favicon_base::FaviconID, IconMappingsForExpiry>
72 GetOldOnDemandFavicons(base::Time threshold);
73
69 // Favicon Bitmaps ----------------------------------------------------------- 74 // Favicon Bitmaps -----------------------------------------------------------
70 75
71 // Returns true if there are favicon bitmaps for |icon_id|. If 76 // Returns true if there are favicon bitmaps for |icon_id|. If
72 // |bitmap_id_sizes| is non NULL, sets it to a list of the favicon bitmap ids 77 // |bitmap_id_sizes| is non NULL, sets it to a list of the favicon bitmap ids
73 // and their associated pixel sizes for the favicon with |icon_id|. 78 // and their associated pixel sizes for the favicon with |icon_id|.
74 // The list contains results for the bitmaps which are cached in the 79 // The list contains results for the bitmaps which are cached in the
75 // favicon_bitmaps table. The pixel sizes are a subset of the sizes in the 80 // favicon_bitmaps table. The pixel sizes are a subset of the sizes in the
76 // 'sizes' field of the favicons table for |icon_id|. 81 // 'sizes' field of the favicons table for |icon_id|.
77 bool GetFaviconBitmapIDSizes( 82 bool GetFaviconBitmapIDSizes(
78 favicon_base::FaviconID icon_id, 83 favicon_base::FaviconID icon_id,
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 198
194 // Adds a mapping between the given page_url and icon_id. 199 // Adds a mapping between the given page_url and icon_id.
195 // Returns the new mapping id if the adding succeeds, otherwise 0 is returned. 200 // Returns the new mapping id if the adding succeeds, otherwise 0 is returned.
196 IconMappingID AddIconMapping(const GURL& page_url, 201 IconMappingID AddIconMapping(const GURL& page_url,
197 favicon_base::FaviconID icon_id); 202 favicon_base::FaviconID icon_id);
198 203
199 // Deletes the icon mapping entries for the given page url. 204 // Deletes the icon mapping entries for the given page url.
200 // Returns true if the deletion succeeded. 205 // Returns true if the deletion succeeded.
201 bool DeleteIconMappings(const GURL& page_url); 206 bool DeleteIconMappings(const GURL& page_url);
202 207
208 // Deletes the icon mapping entries for the given favicon ID.
209 // Returns true if the deletion succeeded.
210 bool DeleteIconMappingsForFaviconId(favicon_base::FaviconID id);
211
203 // Deletes the icon mapping with |mapping_id|. 212 // Deletes the icon mapping with |mapping_id|.
204 // Returns true if the deletion succeeded. 213 // Returns true if the deletion succeeded.
205 bool DeleteIconMapping(IconMappingID mapping_id); 214 bool DeleteIconMapping(IconMappingID mapping_id);
206 215
207 // Checks whether a favicon is used by any URLs in the database. 216 // Checks whether a favicon is used by any URLs in the database.
208 bool HasMappingFor(favicon_base::FaviconID id); 217 bool HasMappingFor(favicon_base::FaviconID id);
209 218
210 // The class to enumerate icon mappings. Use InitIconMappingEnumerator to 219 // The class to enumerate icon mappings. Use InitIconMappingEnumerator to
211 // initialize. 220 // initialize.
212 class IconMappingEnumerator { 221 class IconMappingEnumerator {
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 286
278 sql::Connection db_; 287 sql::Connection db_;
279 sql::MetaTable meta_table_; 288 sql::MetaTable meta_table_;
280 289
281 HistoryBackendClient* backend_client_; 290 HistoryBackendClient* backend_client_;
282 }; 291 };
283 292
284 } // namespace history 293 } // namespace history
285 294
286 #endif // COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_ 295 #endif // COMPONENTS_HISTORY_CORE_BROWSER_THUMBNAIL_DATABASE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698