Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 CHROME_BROWSER_HISTORY_THUMBNAIL_DATABASE_H_ | 5 #ifndef CHROME_BROWSER_HISTORY_THUMBNAIL_DATABASE_H_ |
| 6 #define CHROME_BROWSER_HISTORY_THUMBNAIL_DATABASE_H_ | 6 #define CHROME_BROWSER_HISTORY_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 22 matching lines...) Expand all Loading... | |
| 33 class ExpireHistoryBackend; | 33 class ExpireHistoryBackend; |
| 34 class HistoryPublisher; | 34 class HistoryPublisher; |
| 35 | 35 |
| 36 // This database interface is owned by the history backend and runs on the | 36 // This database interface is owned by the history backend and runs on the |
| 37 // history thread. It is a totally separate component from history partially | 37 // history thread. It is a totally separate component from history partially |
| 38 // because we may want to move it to its own thread in the future. The | 38 // because we may want to move it to its own thread in the future. The |
| 39 // operations we will do on this database will be slow, but we can tolerate | 39 // operations we will do on this database will be slow, but we can tolerate |
| 40 // higher latency (it's OK for thumbnails to come in slower than the rest | 40 // higher latency (it's OK for thumbnails to come in slower than the rest |
| 41 // of the data). Moving this to a separate thread would not block potentially | 41 // of the data). Moving this to a separate thread would not block potentially |
| 42 // higher priority history operations. | 42 // higher priority history operations. |
| 43 // | |
| 44 // Description of tables: | |
|
sky
2012/08/16 16:12:57
Move this to the .cc since its an implementation d
pkotwicz
2012/08/16 19:22:46
Done.
| |
| 45 // | |
| 46 // icon_mapping | |
| 47 // id Unique ID. | |
| 48 // page_url Page URL which has one or more associated favicons. | |
| 49 // icon_id | |
|
sky
2012/08/16 16:12:57
Document icon_id too.
pkotwicz
2012/08/16 19:22:46
Done.
| |
| 50 // | |
| 51 // favicons This table associates a row to each favicon for a | |
| 52 // |page_url| in the |icon_mapping| table. This should | |
|
sky
2012/08/16 16:12:57
Not 'should', but does. Eg This is the defualt fav
pkotwicz
2012/08/16 19:22:46
Done.
| |
| 53 // be the default favicon |page_url|/favicon.ico plus any | |
| 54 // favicons associated via | |
| 55 // <link rel="icon_type" href="url">. | |
| 56 // The |id| should match the |icon_id| field in the | |
|
sky
2012/08/16 16:12:57
Same here, 'The id matches the icon_id field...
pkotwicz
2012/08/16 19:22:46
Done.
| |
| 57 // appropriate row in the icon_mapping table. | |
| 58 // | |
| 59 // id Unique ID. | |
| 60 // url The URL at which the favicon file is located. | |
| 61 // icon_type The type of the favicon specified in the rel attribute of | |
| 62 // the link tag. The FAVICON type is used for the default | |
| 63 // favicon.ico favicon. | |
| 64 // sizes Sizes is a listing of all the sizes at which the favicon | |
| 65 // at |url| is available from the web. Note that this may | |
| 66 // include sizes for which a bitmap is not stored in the | |
| 67 // favicon_bitmaps table. Each widthxheight pair is | |
| 68 // separated by a space. Width and height are separated by | |
| 69 // a space as well. For instance, if |icon_id| represents a | |
| 70 // .ico file containing 16x16 and 32x32 bitmaps, |sizes| | |
| 71 // would be "16 16 32 32". | |
| 72 // | |
| 73 // favicon_bitmaps This table contains the PNG encoded bitmap data of the | |
| 74 // favicons. There is a separate row for every size in a | |
| 75 // multi resolution bitmap. The bitmap data is associated | |
| 76 // to the favicon via the |icon_id| field which should match | |
| 77 // the |id| field in the appropriate row in the |favicons| | |
| 78 // table. | |
| 79 // Note that it is not necessary for there to be a row for | |
|
sky
2012/08/16 16:12:57
There is not necessarily a row for each size speci
pkotwicz
2012/08/16 19:22:46
Done.
| |
| 80 // each size specified in the sizes attribute. | |
| 81 // | |
| 82 // id Unique ID. | |
| 83 // icon_id | |
| 84 // last_updated The time at which this favicon was inserted into the | |
| 85 // table. This is used to determine if it needs to be | |
| 86 // redownloaded from the web. | |
| 87 // image_data PNG encoded data of the favicon. | |
| 88 // width Pixel width of |image_data|. | |
| 89 // height Pixel height of |image_data|. | |
| 90 | |
| 43 class ThumbnailDatabase { | 91 class ThumbnailDatabase { |
| 44 public: | 92 public: |
| 45 ThumbnailDatabase(); | 93 ThumbnailDatabase(); |
| 46 ~ThumbnailDatabase(); | 94 ~ThumbnailDatabase(); |
| 47 | 95 |
| 48 // Must be called after creation but before any other methods are called. | 96 // Must be called after creation but before any other methods are called. |
| 49 // When not INIT_OK, no other functions should be called. | 97 // When not INIT_OK, no other functions should be called. |
| 50 sql::InitStatus Init(const FilePath& db_name, | 98 sql::InitStatus Init(const FilePath& db_name, |
| 51 const HistoryPublisher* history_publisher, | 99 const HistoryPublisher* history_publisher, |
| 52 URLDatabase* url_database); | 100 URLDatabase* url_database); |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 90 | 138 |
| 91 // If there is a thumbnail score for the id provided, retrieves the | 139 // If there is a thumbnail score for the id provided, retrieves the |
| 92 // current thumbnail score and places it in |score| and returns | 140 // current thumbnail score and places it in |score| and returns |
| 93 // true. Returns false otherwise. | 141 // true. Returns false otherwise. |
| 94 bool ThumbnailScoreForId(URLID id, ThumbnailScore* score); | 142 bool ThumbnailScoreForId(URLID id, ThumbnailScore* score); |
| 95 | 143 |
| 96 // Called by the to delete all old thumbnails and make a clean table. | 144 // Called by the to delete all old thumbnails and make a clean table. |
| 97 // Returns true on success. | 145 // Returns true on success. |
| 98 bool RecreateThumbnailTable(); | 146 bool RecreateThumbnailTable(); |
| 99 | 147 |
| 148 // Favicon Bitmaps ----------------------------------------------------------- | |
| 149 | |
| 150 // Returns true if there are any matched bitmaps for the given |icon_id|. All | |
| 151 // matched results are returned if |favicon_bitmaps| is not NULL. | |
| 152 bool GetFaviconBitmaps(FaviconID icon_id, | |
| 153 std::vector<FaviconBitmap>* favicon_bitmaps); | |
| 154 | |
| 155 // Adds a bitmap component at |pixel_size| for the favicon with |icon_id|. | |
| 156 // Only favicons representing a .ico file should have multiple favicon bitmaps | |
| 157 // per favicon. | |
| 158 // |icon_data| is the png encoded data. | |
| 159 // The |time| indicates the access time, and is used to detect when the | |
| 160 // favicon should be refreshed. | |
| 161 // |pixel_size| is the pixel dimensions of |icon_data|. | |
| 162 // Returns the id of the added bitmap or 0 if unsuccessful. | |
| 163 FaviconBitmapID AddFaviconBitmap( | |
| 164 FaviconID icon_id, | |
| 165 scoped_refptr<base::RefCountedMemory> icon_data, | |
| 166 base::Time time, | |
| 167 const gfx::Size& pixel_size); | |
| 168 | |
| 169 // Sets the bitmap data and the last updated time for a favicon bitmap | |
| 170 // contained by the favicon at |favicon_id|. Returns true if successful. | |
| 171 // TODO(pkotwicz): Use FaviconBitmapID instead. | |
| 172 bool SetFaviconBitmap(FaviconID favicon_id, | |
| 173 scoped_refptr<base::RefCountedMemory> icon_data, | |
| 174 base::Time time); | |
| 175 | |
| 100 // Favicons ------------------------------------------------------------------ | 176 // Favicons ------------------------------------------------------------------ |
| 101 | 177 |
| 102 // Sets the bits for a favicon. This should be png encoded data. | 178 // Updates the sizes associated with a favicon to |sizes|. See the comment |
| 103 // The time indicates the access time, and is used to detect when the favicon | 179 // at the top of the file for the format of the |sizes| parameter. |
| 104 // should be refreshed. | 180 bool SetFaviconSizes(FaviconID icon_id, const std::string& sizes); |
| 105 bool SetFavicon(FaviconID icon_id, | |
| 106 scoped_refptr<base::RefCountedMemory> icon_data, | |
| 107 base::Time time); | |
| 108 | 181 |
| 109 // Sets the time the favicon was last updated. | 182 // Sets the the favicon as out of date. This will set |last_updated| for all |
| 110 bool SetFaviconLastUpdateTime(FaviconID icon_id, base::Time time); | 183 // of the bitmaps for |icon_id| to be out of date. |
| 184 bool SetFaviconOutOfDate(FaviconID icon_id); | |
| 111 | 185 |
| 112 // Returns the id of the entry in the favicon database with the specified url | 186 // Returns the id of the entry in the favicon database with the specified url |
| 113 // and icon type. If |required_icon_type| contains multiple icon types and | 187 // and icon type. If |required_icon_type| contains multiple icon types and |
| 114 // there are more than one matched icon in database, only one icon will be | 188 // there are more than one matched icon in database, only one icon will be |
| 115 // returned in the priority of TOUCH_PRECOMPOSED_ICON, TOUCH_ICON, and | 189 // returned in the priority of TOUCH_PRECOMPOSED_ICON, TOUCH_ICON, and |
| 116 // FAVICON, and the icon type is returned in icon_type parameter if it is not | 190 // FAVICON, and the icon type is returned in icon_type parameter if it is not |
| 117 // NULL. | 191 // NULL. |
| 118 // Returns 0 if no entry exists for the specified url. | 192 // Returns 0 if no entry exists for the specified url. |
| 119 FaviconID GetFaviconIDForFaviconURL(const GURL& icon_url, | 193 FaviconID GetFaviconIDForFaviconURL(const GURL& icon_url, |
| 120 int required_icon_type, | 194 int required_icon_type, |
| 121 IconType* icon_type); | 195 IconType* icon_type); |
| 122 | 196 |
| 123 // Gets the png encoded favicon, last updated time, icon_url and icon_type for | 197 // Gets the png encoded favicon, last updated time, icon_url and icon_type for |
| 124 // the specified favicon id. | 198 // the specified favicon id. |
| 199 // TODO(pkotwicz): Remove this function. | |
| 125 bool GetFavicon(FaviconID icon_id, | 200 bool GetFavicon(FaviconID icon_id, |
| 126 base::Time* last_updated, | 201 base::Time* last_updated, |
| 127 std::vector<unsigned char>* png_icon_data, | 202 scoped_refptr<base::RefCountedMemory>* png_icon_data, |
| 128 GURL* icon_url, | 203 GURL* icon_url, |
| 129 IconType* icon_type); | 204 IconType* icon_type); |
| 130 | 205 |
| 206 // Gets the icon_url, icon_type and sizes for the specified |icon_id|. | |
| 207 bool GetFaviconHeader(FaviconID icon_id, | |
| 208 GURL* icon_url, | |
| 209 IconType* icon_type, | |
| 210 std::string* sizes); | |
| 211 | |
| 131 // Adds the favicon URL and icon type to the favicon db, returning its id. | 212 // Adds the favicon URL and icon type to the favicon db, returning its id. |
| 132 FaviconID AddFavicon(const GURL& icon_url, IconType icon_type); | 213 FaviconID AddFavicon(const GURL& icon_url, IconType icon_type); |
| 133 | 214 |
| 215 // Adds a favicon with a single bitmap. This call is equivalent to calling | |
| 216 // AddFavicon, SetFaviconSizes, and AddFaviconBitmap. | |
| 217 FaviconID AddFavicon(const GURL& icon_url, | |
| 218 IconType icon_type, | |
| 219 const std::string& sizes, | |
| 220 scoped_refptr<base::RefCountedMemory> icon_data, | |
| 221 base::Time time, | |
| 222 const gfx::Size& pixel_size); | |
| 223 | |
| 134 // Delete the favicon with the provided id. Returns false on failure | 224 // Delete the favicon with the provided id. Returns false on failure |
| 135 bool DeleteFavicon(FaviconID id); | 225 bool DeleteFavicon(FaviconID id); |
| 136 | 226 |
| 137 // Icon Mapping -------------------------------------------------------------- | 227 // Icon Mapping -------------------------------------------------------------- |
| 138 // | 228 // |
| 139 // Returns true if there is a matched icon mapping for the given page and | 229 // Returns true if there is a matched icon mapping for the given page and |
| 140 // icon type. | 230 // icon type. |
| 141 // The matched icon mapping is returned in the icon_mapping parameter if it is | 231 // The matched icon mapping is returned in the icon_mapping parameter if it is |
| 142 // not NULL. | 232 // not NULL. |
| 143 bool GetIconMappingForPageURL(const GURL& page_url, | 233 bool GetIconMappingForPageURL(const GURL& page_url, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 187 // each call of GetNextIconMapping(). | 277 // each call of GetNextIconMapping(). |
| 188 sql::Statement statement_; | 278 sql::Statement statement_; |
| 189 | 279 |
| 190 DISALLOW_COPY_AND_ASSIGN(IconMappingEnumerator); | 280 DISALLOW_COPY_AND_ASSIGN(IconMappingEnumerator); |
| 191 }; | 281 }; |
| 192 | 282 |
| 193 // Return all icon mappings of the given |icon_type|. | 283 // Return all icon mappings of the given |icon_type|. |
| 194 bool InitIconMappingEnumerator(IconType type, | 284 bool InitIconMappingEnumerator(IconType type, |
| 195 IconMappingEnumerator* enumerator); | 285 IconMappingEnumerator* enumerator); |
| 196 | 286 |
| 197 // Temporary IconMapping ----------------------------------------------------- | 287 // Temporary Tables --------------------------------------------------------- |
| 198 // | 288 // |
| 199 // Creates a temporary table to store icon mapping. Icon mapping will be | 289 // Creates empty temporary tables for each of the tables in the thumbnail |
| 200 // copied to this table by AddToTemporaryIconMappingTable() and then the | 290 // database. Favicon data which is not copied into the temporary tables will |
| 201 // original table will be dropped, leaving only those copied mapping | 291 // be deleted when CommitTemporaryTables() is called. This is used to delete |
| 202 // remaining. This is used to quickly delete most of the icon mapping when | 292 // most of the favicons when clearing history. |
| 203 // clearing history. | 293 bool InitTemporaryTables(); |
| 204 bool InitTemporaryIconMappingTable() { | 294 |
| 205 return InitIconMappingTable(&db_, true); | 295 // Replaces the main tables in the thumbnail database with the temporary |
| 206 } | 296 // tables created with InitTemporaryTables(). This means that any data not |
| 297 // copied over will be deleted. | |
| 298 bool CommitTemporaryTables(); | |
| 207 | 299 |
| 208 // Copies the given icon mapping from the "main" icon_mapping table to the | 300 // Copies the given icon mapping from the "main" icon_mapping table to the |
| 209 // temporary one. This is only valid in between calls to | 301 // temporary one. This is only valid in between calls to |
| 210 // InitTemporaryIconMappingTable() | 302 // InitTemporaryTables() and CommitTemporaryTables(). |
| 211 // and CommitTemporaryIconMappingTable(). | |
| 212 // | 303 // |
| 213 // The ID of the favicon will change when this copy takes place. The new ID | 304 // The ID of the favicon will change when this copy takes place. The new ID |
| 214 // is returned, or 0 on failure. | 305 // is returned, or 0 on failure. |
| 215 IconMappingID AddToTemporaryIconMappingTable(const GURL& page_url, | 306 IconMappingID AddToTemporaryIconMappingTable(const GURL& page_url, |
| 216 const FaviconID icon_id); | 307 const FaviconID icon_id); |
| 217 | 308 |
| 218 // Replaces the main icon mapping table with the temporary table created by | 309 // Copies the given favicon and associated favicon bitmaps from the "main" |
| 219 // InitTemporaryIconMappingTable(). This will mean all icon mapping not copied | 310 // favicon and favicon_bitmaps tables to the temporary ones. This is only |
| 220 // over will be deleted. Returns true on success. | 311 // valid in between calls to InitTemporaryTables() and |
| 221 bool CommitTemporaryIconMappingTable(); | 312 // CommitTemporaryTables(). |
| 222 | |
| 223 // Temporary Favicons -------------------------------------------------------- | |
| 224 | |
| 225 // Create a temporary table to store favicons. Favicons will be copied to | |
| 226 // this table by CopyToTemporaryFaviconTable() and then the original table | |
| 227 // will be dropped, leaving only those copied favicons remaining. This is | |
| 228 // used to quickly delete most of the favicons when clearing history. | |
| 229 bool InitTemporaryFaviconsTable() { | |
| 230 return InitFaviconsTable(&db_, true); | |
| 231 } | |
| 232 | |
| 233 // Copies the given favicon from the "main" favicon table to the temporary | |
| 234 // one. This is only valid in between calls to InitTemporaryFaviconsTable() | |
| 235 // and CommitTemporaryFaviconTable(). | |
| 236 // | 313 // |
| 237 // The ID of the favicon will change when this copy takes place. The new ID | 314 // The ID of the favicon will change when this copy takes place. The new ID |
| 238 // is returned, or 0 on failure. | 315 // is returned, or 0 on failure. |
| 239 FaviconID CopyToTemporaryFaviconTable(FaviconID source); | 316 FaviconID CopyFaviconAndFaviconBitmapsToTemporaryTables(FaviconID source); |
| 240 | |
| 241 // Replaces the main URL table with the temporary table created by | |
| 242 // InitTemporaryFaviconsTable(). This will mean all favicons not copied over | |
| 243 // will be deleted. Returns true on success. | |
| 244 bool CommitTemporaryFaviconTable(); | |
| 245 | 317 |
| 246 // Returns true iff the thumbnails table exists. | 318 // Returns true iff the thumbnails table exists. |
| 247 // Migrating to TopSites is dropping the thumbnails table. | 319 // Migrating to TopSites is dropping the thumbnails table. |
| 248 bool NeedsMigrationToTopSites(); | 320 bool NeedsMigrationToTopSites(); |
| 249 | 321 |
| 250 // Renames the database file and drops the Thumbnails table. | 322 // Renames the database file and drops the Thumbnails table. |
| 251 bool RenameAndDropThumbnails(const FilePath& old_db_file, | 323 bool RenameAndDropThumbnails(const FilePath& old_db_file, |
| 252 const FilePath& new_db_file); | 324 const FilePath& new_db_file); |
| 253 | 325 |
| 254 private: | 326 private: |
| 255 friend class ExpireHistoryBackend; | 327 friend class ExpireHistoryBackend; |
| 256 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, | 328 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, |
| 257 GetFaviconAfterMigrationToTopSites); | 329 GetFaviconAfterMigrationToTopSites); |
| 258 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, UpgradeToVersion4); | 330 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, UpgradeToVersion4); |
| 259 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, UpgradeToVersion5); | 331 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, UpgradeToVersion5); |
| 332 FRIEND_TEST_ALL_PREFIXES(ThumbnailDatabaseTest, UpgradeToVersion6); | |
| 260 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationIconMapping); | 333 FRIEND_TEST_ALL_PREFIXES(HistoryBackendTest, MigrationIconMapping); |
| 261 | 334 |
| 262 // Creates the thumbnail table, returning true if the table already exists | 335 // Creates the thumbnail table, returning true if the table already exists |
| 263 // or was successfully created. | 336 // or was successfully created. |
| 264 bool InitThumbnailTable(); | 337 bool InitThumbnailTable(); |
| 265 | 338 |
| 266 // Creates the favicon table, returning true if the table already exists, | |
| 267 // or was successfully created. |is_temporary| will be false when generating | |
| 268 // the "regular" favicons table. The expirer sets this to true to generate the | |
| 269 // temporary table, which will have a different name but the same schema. | |
| 270 // |db| is the connection to use for initializing the table. | |
| 271 // A different connection is used in RenameAndDropThumbnails, when we | |
| 272 // need to copy the favicons between two database files. | |
| 273 bool InitFaviconsTable(sql::Connection* db, bool is_temporary); | |
| 274 | |
| 275 // Helper function to handle cleanup on upgrade failures. | 339 // Helper function to handle cleanup on upgrade failures. |
| 276 sql::InitStatus CantUpgradeToVersion(int cur_version); | 340 sql::InitStatus CantUpgradeToVersion(int cur_version); |
| 277 | 341 |
| 278 // Adds support for the new metadata on web page thumbnails. | 342 // Adds support for the new metadata on web page thumbnails. |
| 279 bool UpgradeToVersion3(); | 343 bool UpgradeToVersion3(); |
| 280 | 344 |
| 281 // Adds support for the icon_type in favicon table. | 345 // Adds support for the icon_type in favicon table. |
| 282 bool UpgradeToVersion4(); | 346 bool UpgradeToVersion4(); |
| 283 | 347 |
| 284 // Adds support for sizes in favicon table. | 348 // Adds support for sizes in favicon table. |
| 285 bool UpgradeToVersion5(); | 349 bool UpgradeToVersion5(); |
| 286 | 350 |
| 351 // Adds support for size in favicons table and removes sizes column. | |
| 352 bool UpgradeToVersion6(); | |
| 353 | |
| 287 // Migrates the icon mapping data from URL database to Thumbnail database. | 354 // Migrates the icon mapping data from URL database to Thumbnail database. |
| 288 // Return whether the migration succeeds. | 355 // Return whether the migration succeeds. |
| 289 bool MigrateIconMappingData(URLDatabase* url_db); | 356 bool MigrateIconMappingData(URLDatabase* url_db); |
| 290 | 357 |
| 358 // Creates the favicon table, returning true if the table already exists, | |
| 359 // or was successfully created. |is_temporary| will be false when generating | |
| 360 // the "regular" favicons table. The expirer sets this to true to generate the | |
| 361 // temporary table, which will have a different name but the same schema. | |
| 362 // |db| is the connection to use for initializing the table. | |
| 363 // A different connection is used in RenameAndDropThumbnails, when we | |
| 364 // need to copy the favicons between two database files. | |
| 365 bool InitFaviconsTable(sql::Connection* db, bool is_temporary); | |
| 366 | |
| 291 // Creates the index over the favicon table. This will be called during | 367 // Creates the index over the favicon table. This will be called during |
| 292 // initialization after the table is created. This is a separate function | 368 // initialization after the table is created. This is a separate function |
| 293 // because it is used by SwapFaviconTables to create an index over the | 369 // because it is used by SwapFaviconTables to create an index over the |
| 294 // newly-renamed favicons table (formerly the temporary table with no index). | 370 // newly-renamed favicons table (formerly the temporary table with no index). |
| 295 bool InitFaviconsIndex(); | 371 bool InitFaviconsIndex(); |
| 296 | 372 |
| 373 // Creates the favicon_bitmaps table, return true if the table already exists | |
| 374 // or was successfully created. | |
| 375 bool InitFaviconBitmapsTable(sql::Connection* db, bool is_temporary); | |
| 376 | |
| 377 // Creates the index over the favicon_bitmaps table. This will be called | |
| 378 // during initialization after the table is created. This is a separate | |
| 379 // function because it is used by CommitTemporaryTables to create an | |
| 380 // index over the newly-renamed favicon_bitmaps table (formerly the temporary | |
| 381 // table with no index). | |
| 382 bool InitFaviconBitmapsIndex(); | |
| 383 | |
| 297 // Creates the icon_map table, return true if the table already exists or was | 384 // Creates the icon_map table, return true if the table already exists or was |
| 298 // successfully created. | 385 // successfully created. |
| 299 bool InitIconMappingTable(sql::Connection* db, bool is_temporary); | 386 bool InitIconMappingTable(sql::Connection* db, bool is_temporary); |
| 300 | 387 |
| 301 // Creates the index over the icon_mapping table, This will be called during | 388 // Creates the index over the icon_mapping table, This will be called during |
| 302 // initialization after the table is created. This is a separate function | 389 // initialization after the table is created. This is a separate function |
| 303 // because it is used by CommitTemporaryIconMappingTable to create an index | 390 // because it is used by CommitTemporaryIconMappingTable to create an index |
| 304 // over the newly-renamed icon_mapping table (formerly the temporary table | 391 // over the newly-renamed icon_mapping table (formerly the temporary table |
| 305 // with no index). | 392 // with no index). |
| 306 bool InitIconMappingIndex(); | 393 bool InitIconMappingIndex(); |
| (...skipping 18 matching lines...) Expand all Loading... | |
| 325 const HistoryPublisher* history_publisher_; | 412 const HistoryPublisher* history_publisher_; |
| 326 | 413 |
| 327 // True if migration to TopSites has been done and the thumbnails | 414 // True if migration to TopSites has been done and the thumbnails |
| 328 // table should not be used. | 415 // table should not be used. |
| 329 bool use_top_sites_; | 416 bool use_top_sites_; |
| 330 }; | 417 }; |
| 331 | 418 |
| 332 } // namespace history | 419 } // namespace history |
| 333 | 420 |
| 334 #endif // CHROME_BROWSER_HISTORY_THUMBNAIL_DATABASE_H_ | 421 #endif // CHROME_BROWSER_HISTORY_THUMBNAIL_DATABASE_H_ |
| OLD | NEW |