Index: chrome/browser/history/top_sites_cache.cc |
diff --git a/chrome/browser/history/top_sites_cache.cc b/chrome/browser/history/top_sites_cache.cc |
index 27d0c860173c8ae9ef320242dee6eb9336007eaf..7742d95d7a09a168e05e6307fc8fb0308227f7ab 100644 |
--- a/chrome/browser/history/top_sites_cache.cc |
+++ b/chrome/browser/history/top_sites_cache.cc |
@@ -31,6 +31,7 @@ TopSitesCache::~TopSitesCache() { |
void TopSitesCache::SetTopSites(const MostVisitedURLList& top_sites) { |
top_sites_ = top_sites; |
+ CountForcedURLs(); |
GenerateCanonicalURLs(); |
} |
@@ -148,6 +149,31 @@ size_t TopSitesCache::GetURLIndex(const GURL& url) const { |
return GetCanonicalURLsIterator(url)->second; |
} |
+size_t TopSitesCache::GetNbNonForcedURLs() const { |
+ return top_sites_.size() - nb_forced_urls_; |
+} |
+ |
+size_t TopSitesCache::GetNbForcedURLs() const { |
+ return nb_forced_urls_; |
+} |
+ |
+void TopSitesCache::CountForcedURLs() { |
+ nb_forced_urls_ = 0; |
brettw
2013/11/08 22:56:07
As above, I'd use "num" instead. I've never seen a
beaudoin
2013/11/11 21:58:09
Probably a French thing. Sorry. :)
Done.
|
+ while (nb_forced_urls_ < top_sites_.size()) { |
+ // Forced sites are all at the beginning. |
+ if (top_sites_[nb_forced_urls_].last_forced_time.is_null()) |
+ break; |
+ nb_forced_urls_++; |
+ } |
+ // In debug, ensure the cache user is has no forced URLs pass that point. |
brettw
2013/11/08 22:56:07
Grammar: "is has"
beaudoin
2013/11/11 21:58:09
Done.
|
+ if (DCHECK_IS_ON()) { |
+ for (size_t i = nb_forced_urls_; i < top_sites_.size(); ++i) { |
+ DCHECK(top_sites_[i].last_forced_time.is_null()) |
+ << "All the forced URLs must appear before non-forced URLs."; |
+ } |
+ } |
+} |
+ |
void TopSitesCache::GenerateCanonicalURLs() { |
canonical_urls_.clear(); |
for (size_t i = 0; i < top_sites_.size(); i++) |