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

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: Rebase 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
« no previous file with comments | « chrome/browser/history/history_backend.h ('k') | chrome/browser/history/history_backend_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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) {
« no previous file with comments | « chrome/browser/history/history_backend.h ('k') | chrome/browser/history/history_backend_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698