| 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_TOP_SITES_H_ | 5 #ifndef CHROME_BROWSER_HISTORY_TOP_SITES_H_ |
| 6 #define CHROME_BROWSER_HISTORY_TOP_SITES_H_ | 6 #define CHROME_BROWSER_HISTORY_TOP_SITES_H_ |
| 7 | 7 |
| 8 #include <list> | 8 #include <list> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 59 // Initializes TopSites. | 59 // Initializes TopSites. |
| 60 void Init(const base::FilePath& db_name); | 60 void Init(const base::FilePath& db_name); |
| 61 | 61 |
| 62 // Sets the given thumbnail for the given URL. Returns true if the thumbnail | 62 // Sets the given thumbnail for the given URL. Returns true if the thumbnail |
| 63 // was updated. False means either the URL wasn't known to us, or we felt | 63 // was updated. False means either the URL wasn't known to us, or we felt |
| 64 // that our current thumbnail was superior to the given one. | 64 // that our current thumbnail was superior to the given one. |
| 65 bool SetPageThumbnail(const GURL& url, | 65 bool SetPageThumbnail(const GURL& url, |
| 66 const gfx::Image& thumbnail, | 66 const gfx::Image& thumbnail, |
| 67 const ThumbnailScore& score); | 67 const ThumbnailScore& score); |
| 68 | 68 |
| 69 // While testing the history system, we want to set the thumbnail to a piece |
| 70 // of static memory. |
| 71 bool SetPageThumbnailToJPEGBytes( |
| 72 const GURL& url, |
| 73 const base::RefCountedMemory* memory, |
| 74 const ThumbnailScore& score); |
| 75 |
| 69 typedef base::Callback<void(const MostVisitedURLList&)> | 76 typedef base::Callback<void(const MostVisitedURLList&)> |
| 70 GetMostVisitedURLsCallback; | 77 GetMostVisitedURLsCallback; |
| 71 typedef std::vector<GetMostVisitedURLsCallback> PendingCallbacks; | 78 typedef std::vector<GetMostVisitedURLsCallback> PendingCallbacks; |
| 72 | 79 |
| 73 // Returns a list of most visited URLs via a callback. This may be invoked on | 80 // Returns a list of most visited URLs via a callback. This may be invoked on |
| 74 // any thread. | 81 // any thread. |
| 75 // NOTE: the callback is called immediately if we have the data cached. If | 82 // NOTE: the callback is called immediately if we have the data cached. If |
| 76 // data is not available yet, callback will later be posted to the thread | 83 // data is not available yet, callback will later be posted to the thread |
| 77 // called this function. | 84 // called this function. |
| 78 void GetMostVisitedURLs(const GetMostVisitedURLsCallback& callback); | 85 void GetMostVisitedURLs(const GetMostVisitedURLsCallback& callback); |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 TOP_SITES_LOADED_WAITING_FOR_HISTORY, | 216 TOP_SITES_LOADED_WAITING_FOR_HISTORY, |
| 210 | 217 |
| 211 // Top sites is loaded. | 218 // Top sites is loaded. |
| 212 TOP_SITES_LOADED | 219 TOP_SITES_LOADED |
| 213 }; | 220 }; |
| 214 | 221 |
| 215 // Sets the thumbnail without writing to the database. Useful when | 222 // Sets the thumbnail without writing to the database. Useful when |
| 216 // reading last known top sites from the DB. | 223 // reading last known top sites from the DB. |
| 217 // Returns true if the thumbnail was set, false if the existing one is better. | 224 // Returns true if the thumbnail was set, false if the existing one is better. |
| 218 bool SetPageThumbnailNoDB(const GURL& url, | 225 bool SetPageThumbnailNoDB(const GURL& url, |
| 219 const base::RefCountedBytes* thumbnail_data, | 226 const base::RefCountedMemory* thumbnail_data, |
| 220 const ThumbnailScore& score); | 227 const ThumbnailScore& score); |
| 221 | 228 |
| 222 // A version of SetPageThumbnail that takes RefCountedBytes as | 229 // A version of SetPageThumbnail that takes RefCountedMemory as |
| 223 // returned by HistoryService. | 230 // returned by HistoryService. |
| 224 bool SetPageThumbnailEncoded(const GURL& url, | 231 bool SetPageThumbnailEncoded(const GURL& url, |
| 225 const base::RefCountedBytes* thumbnail, | 232 const base::RefCountedMemory* thumbnail, |
| 226 const ThumbnailScore& score); | 233 const ThumbnailScore& score); |
| 227 | 234 |
| 228 // Encodes the bitmap to bytes for storage to the db. Returns true if the | 235 // Encodes the bitmap to bytes for storage to the db. Returns true if the |
| 229 // bitmap was successfully encoded. | 236 // bitmap was successfully encoded. |
| 230 static bool EncodeBitmap(const gfx::Image& bitmap, | 237 static bool EncodeBitmap(const gfx::Image& bitmap, |
| 231 scoped_refptr<base::RefCountedBytes>* bytes); | 238 scoped_refptr<base::RefCountedBytes>* bytes); |
| 232 | 239 |
| 233 // Removes the cached thumbnail for url. Does nothing if |url| if not cached | 240 // Removes the cached thumbnail for url. Does nothing if |url| if not cached |
| 234 // in |temp_images_|. | 241 // in |temp_images_|. |
| 235 void RemoveTemporaryThumbnailByURL(const GURL& url); | 242 void RemoveTemporaryThumbnailByURL(const GURL& url); |
| 236 | 243 |
| 237 // Add a thumbnail for an unknown url. See temp_thumbnails_map_. | 244 // Add a thumbnail for an unknown url. See temp_thumbnails_map_. |
| 238 void AddTemporaryThumbnail(const GURL& url, | 245 void AddTemporaryThumbnail(const GURL& url, |
| 239 const base::RefCountedBytes* thumbnail, | 246 const base::RefCountedMemory* thumbnail, |
| 240 const ThumbnailScore& score); | 247 const ThumbnailScore& score); |
| 241 | 248 |
| 242 // Called by our timer. Starts the query for the most visited sites. | 249 // Called by our timer. Starts the query for the most visited sites. |
| 243 void TimerFired(); | 250 void TimerFired(); |
| 244 | 251 |
| 245 // Finds the given URL in the redirect chain for the given TopSite, and | 252 // Finds the given URL in the redirect chain for the given TopSite, and |
| 246 // returns the distance from the destination in hops that the given URL is. | 253 // returns the distance from the destination in hops that the given URL is. |
| 247 // The URL is assumed to be in the list. The destination is 0. | 254 // The URL is assumed to be in the list. The destination is 0. |
| 248 static int GetRedirectDistanceForURL(const MostVisitedURL& most_visited, | 255 static int GetRedirectDistanceForURL(const MostVisitedURL& most_visited, |
| 249 const GURL& url); | 256 const GURL& url); |
| (...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 363 | 370 |
| 364 #if defined(OS_ANDROID) | 371 #if defined(OS_ANDROID) |
| 365 extern const TopSites::PrepopulatedPage kPrepopulatedPages[1]; | 372 extern const TopSites::PrepopulatedPage kPrepopulatedPages[1]; |
| 366 #else | 373 #else |
| 367 extern const TopSites::PrepopulatedPage kPrepopulatedPages[2]; | 374 extern const TopSites::PrepopulatedPage kPrepopulatedPages[2]; |
| 368 #endif | 375 #endif |
| 369 | 376 |
| 370 } // namespace history | 377 } // namespace history |
| 371 | 378 |
| 372 #endif // CHROME_BROWSER_HISTORY_TOP_SITES_H_ | 379 #endif // CHROME_BROWSER_HISTORY_TOP_SITES_H_ |
| OLD | NEW |