| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 #include "chrome/browser/history/top_sites.h" | 5 #include "chrome/browser/history/top_sites.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <set> | 8 #include <set> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 static const size_t kTopSitesShown = 8; | 48 static const size_t kTopSitesShown = 8; |
| 49 static const int kDaysOfHistory = 90; | 49 static const int kDaysOfHistory = 90; |
| 50 // Time from startup to first HistoryService query. | 50 // Time from startup to first HistoryService query. |
| 51 static const int64 kUpdateIntervalSecs = 15; | 51 static const int64 kUpdateIntervalSecs = 15; |
| 52 // Intervals between requests to HistoryService. | 52 // Intervals between requests to HistoryService. |
| 53 static const int64 kMinUpdateIntervalMinutes = 1; | 53 static const int64 kMinUpdateIntervalMinutes = 1; |
| 54 static const int64 kMaxUpdateIntervalMinutes = 60; | 54 static const int64 kMaxUpdateIntervalMinutes = 60; |
| 55 | 55 |
| 56 // IDs of the sites we force into top sites. | 56 // IDs of the sites we force into top sites. |
| 57 static const int kPrepopulatePageIDs[] = | 57 static const int kPrepopulatePageIDs[] = |
| 58 { IDS_CHROME_WELCOME_URL, IDS_THEMES_GALLERY_URL }; | 58 { IDS_CHROME_WELCOME_URL, IDS_WEBSTORE_URL }; |
| 59 | 59 |
| 60 // Favicons of the sites we force into top sites. | 60 // Favicons of the sites we force into top sites. |
| 61 static const char kPrepopulateFaviconURLs[][100] = | 61 static const char kPrepopulateFaviconURLs[][100] = |
| 62 { "chrome://theme/IDR_PRODUCT_LOGO_16", | 62 { "chrome://theme/IDR_PRODUCT_LOGO_16", |
| 63 "chrome://theme/IDR_WEBSTORE_ICON_16" }; | 63 "chrome://theme/IDR_WEBSTORE_ICON_16" }; |
| 64 // Same as above, but for NTP4. TODO(estade): remove the above. | 64 // Same as above, but for NTP4. TODO(estade): remove the above. |
| 65 static const char kNewPrepopulateFaviconURLs[][100] = | 65 static const char kNewPrepopulateFaviconURLs[][100] = |
| 66 { "chrome://theme/IDR_PRODUCT_LOGO_32", | 66 { "chrome://theme/IDR_PRODUCT_LOGO_32", |
| 67 "chrome://theme/IDR_WEBSTORE_ICON_32" }; | 67 "chrome://theme/IDR_WEBSTORE_ICON_32" }; |
| 68 | 68 |
| 69 static const int kPrepopulateTitleIDs[] = | 69 static const int kPrepopulateTitleIDs[] = |
| 70 { IDS_NEW_TAB_CHROME_WELCOME_PAGE_TITLE, | 70 { IDS_NEW_TAB_CHROME_WELCOME_PAGE_TITLE, |
| 71 IDS_NEW_TAB_THEMES_GALLERY_PAGE_TITLE }; | 71 IDS_NEW_TAB_WEBSTORE_PAGE_TITLE }; |
| 72 | 72 |
| 73 namespace { | 73 namespace { |
| 74 | 74 |
| 75 // HistoryDBTask used during migration of thumbnails from history to top sites. | 75 // HistoryDBTask used during migration of thumbnails from history to top sites. |
| 76 // When run on the history thread it collects the top sites and the | 76 // When run on the history thread it collects the top sites and the |
| 77 // corresponding thumbnails. When run back on the ui thread it calls into | 77 // corresponding thumbnails. When run back on the ui thread it calls into |
| 78 // TopSites::FinishHistoryMigration. | 78 // TopSites::FinishHistoryMigration. |
| 79 class LoadThumbnailsFromHistoryTask : public HistoryDBTask { | 79 class LoadThumbnailsFromHistoryTask : public HistoryDBTask { |
| 80 public: | 80 public: |
| 81 LoadThumbnailsFromHistoryTask(TopSites* top_sites, | 81 LoadThumbnailsFromHistoryTask(TopSites* top_sites, |
| 82 int result_count) | 82 int result_count) |
| 83 : top_sites_(top_sites), | 83 : top_sites_(top_sites), |
| 84 result_count_(result_count) { | 84 result_count_(result_count) { |
| 85 // l10n_util isn't thread safe, so cache for use on the db thread. | 85 // l10n_util isn't thread safe, so cache for use on the db thread. |
| 86 ignore_urls_.insert(l10n_util::GetStringUTF8(IDS_CHROME_WELCOME_URL)); | 86 ignore_urls_.insert(l10n_util::GetStringUTF8(IDS_CHROME_WELCOME_URL)); |
| 87 ignore_urls_.insert(l10n_util::GetStringUTF8(IDS_THEMES_GALLERY_URL)); | 87 ignore_urls_.insert(l10n_util::GetStringUTF8(IDS_WEBSTORE_URL)); |
| 88 } | 88 } |
| 89 | 89 |
| 90 virtual bool RunOnDBThread(history::HistoryBackend* backend, | 90 virtual bool RunOnDBThread(history::HistoryBackend* backend, |
| 91 history::HistoryDatabase* db) { | 91 history::HistoryDatabase* db) { |
| 92 // Get the most visited urls. | 92 // Get the most visited urls. |
| 93 backend->QueryMostVisitedURLsImpl(result_count_, | 93 backend->QueryMostVisitedURLsImpl(result_count_, |
| 94 kDaysOfHistory, | 94 kDaysOfHistory, |
| 95 &data_.most_visited); | 95 &data_.most_visited); |
| 96 | 96 |
| 97 // And fetch the thumbnails. | 97 // And fetch the thumbnails. |
| (...skipping 910 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1008 SetTopSites(pages); | 1008 SetTopSites(pages); |
| 1009 | 1009 |
| 1010 // Used only in testing. | 1010 // Used only in testing. |
| 1011 NotificationService::current()->Notify( | 1011 NotificationService::current()->Notify( |
| 1012 chrome::NOTIFICATION_TOP_SITES_UPDATED, | 1012 chrome::NOTIFICATION_TOP_SITES_UPDATED, |
| 1013 Source<TopSites>(this), | 1013 Source<TopSites>(this), |
| 1014 Details<CancelableRequestProvider::Handle>(&handle)); | 1014 Details<CancelableRequestProvider::Handle>(&handle)); |
| 1015 } | 1015 } |
| 1016 | 1016 |
| 1017 } // namespace history | 1017 } // namespace history |
| OLD | NEW |