| 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) {
|
|
|