| Index: chrome/browser/history/history_backend.cc
|
| diff --git a/chrome/browser/history/history_backend.cc b/chrome/browser/history/history_backend.cc
|
| index 4d7c9105229ccc0ccc13e81f1002d3f273a025aa..3d972008e1a4a0d590b2f766cd69def65042a35d 100644
|
| --- a/chrome/browser/history/history_backend.cc
|
| +++ b/chrome/browser/history/history_backend.cc
|
| @@ -1317,22 +1317,25 @@ void HistoryBackend::GetVisibleVisitCountToHost(
|
| request->ForwardResult(request->handle(), success, count, 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;
|
| + QueryRedirectsFrom(current_data->GetURL(), &redirects);
|
| + MostVisitedURL url = MakeMostVisitedURL(*current_data, redirects);
|
| + result->push_back(url);
|
| + }
|
| }
|
|
|
| void HistoryBackend::QueryFilteredURLs(
|
| @@ -1418,26 +1421,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;
|
| - QueryRedirectsFrom(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.
|
| @@ -2754,8 +2737,8 @@ 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) {
|
|
|