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

Unified Diff: chrome/browser/history/history_backend.cc

Issue 352623002: Port History::QueryMostVisitedURLs to use CancelableTaskTracker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/history/history_backend.cc
diff --git a/chrome/browser/history/history_backend.cc b/chrome/browser/history/history_backend.cc
index c54ef3f8350e0eae5784feaa159427660d0f2f2a..a21d4d06f9858526c9b2da32f3d086e4dafeb2b1 100644
--- a/chrome/browser/history/history_backend.cc
+++ b/chrome/browser/history/history_backend.cc
@@ -1292,22 +1292,24 @@ void HistoryBackend::GetVisibleVisitCountToHost(
url, &result->count, &result->first_visit);
}
-void HistoryBackend::QueryMostVisitedURLs(
- scoped_refptr<QueryMostVisitedURLsRequest> request,
- int result_count,
- int days_back) {
- if (request->canceled())
+void HistoryBackend::QueryMostVisitedURLs(int result_count,
+ int days_back,
+ MostVisitedURLList* result) {
+ if (!db_)
return;
- if (!db_) {
- // No History Database - return an empty list.
- request->ForwardResult(request->handle(), MostVisitedURLList());
- return;
- }
+ ScopedVector<PageUsageData> data;
+ db_->QuerySegmentUsage(base::Time::Now() -
+ base::TimeDelta::FromDays(days_back),
+ result_count, &data.get());
- MostVisitedURLList* result = &request->value;
- QueryMostVisitedURLsImpl(result_count, days_back, result);
- request->ForwardResult(request->handle(), *result);
+ for (size_t i = 0; i < data.size(); ++i) {
+ PageUsageData* current_data = data[i];
+ RedirectList redirects;
+ GetMostRecentRedirectsFrom(current_data->GetURL(), &redirects);
+ MostVisitedURL url = MakeMostVisitedURL(*current_data, redirects);
+ result->push_back(url);
+ }
}
void HistoryBackend::QueryFilteredURLs(
@@ -1393,26 +1395,6 @@ void HistoryBackend::QueryFilteredURLs(
request->ForwardResult(request->handle(), result);
}
-void HistoryBackend::QueryMostVisitedURLsImpl(int result_count,
- int days_back,
- MostVisitedURLList* result) {
- if (!db_)
- return;
-
- ScopedVector<PageUsageData> data;
- db_->QuerySegmentUsage(base::Time::Now() -
- base::TimeDelta::FromDays(days_back),
- result_count, &data.get());
-
- for (size_t i = 0; i < data.size(); ++i) {
- PageUsageData* current_data = data[i];
- RedirectList redirects;
- GetMostRecentRedirectsFrom(current_data->GetURL(), &redirects);
- MostVisitedURL url = MakeMostVisitedURL(*current_data, redirects);
- result->push_back(url);
- }
-}
-
void HistoryBackend::GetRedirectsFromSpecificVisit(
VisitID cur_visit, history::RedirectList* redirects) {
// Follow any redirects from the given visit and add them to the list.
@@ -2761,8 +2743,9 @@ void HistoryBackend::NotifyVisitObservers(const VisitRow& visit) {
#if defined(OS_ANDROID)
void HistoryBackend::PopulateMostVisitedURLMap() {
MostVisitedURLList most_visited_urls;
- QueryMostVisitedURLsImpl(kPageVisitStatsMaxTopSites, kSegmentDataRetention,
- &most_visited_urls);
+ QueryMostVisitedURLs(kPageVisitStatsMaxTopSites,
+ kSegmentDataRetention,
+ &most_visited_urls);
DCHECK_LE(most_visited_urls.size(), kPageVisitStatsMaxTopSites);
for (size_t i = 0; i < most_visited_urls.size(); ++i) {

Powered by Google App Engine
This is Rietveld 408576698