DCHECK(combiner_);
STLDeleteElements(&items_);
- history_consumer_.CancelAllRequests();
+ history_tracker_.TryCancelAll();
HistoryService* history = HistoryServiceFactory::GetForProfile(
profile, Profile::EXPLICIT_ACCESS);
// |history| may be null during unit tests.
time_filter.SetFilterWidth(GetFilterWidth());
time_filter.set_sorting_order(GetSortingOrder());
- history->QueryFilteredURLs(0, time_filter, debug_, &history_consumer_,
+ history->QueryFilteredURLs(
+ 0,
+ time_filter,
+ debug_,
base::Bind(&SuggestionsSourceTopSites::OnSuggestionsUrlsAvailable,
- base::Unretained(this)));
+ base::Unretained(this)),
+ &history_tracker_);
}
}
}
void SuggestionsSourceTopSites::OnSuggestionsUrlsAvailable(
- CancelableRequestProvider::Handle handle,
- const history::FilteredURLList& data) {
+ const history::FilteredURLList* data) {
+ DCHECK(data);
DCHECK(combiner_);
- for (size_t i = 0; i < data.size(); i++) {
- const history::FilteredURL& suggested_url = data[i];
+ for (size_t i = 0; i < data->size(); i++) {
+ const history::FilteredURL& suggested_url = (*data)[i];
if (suggested_url.url.is_empty())
continue;
// static
base::TimeDelta SuggestionsSourceTopSites::GetFilterWidth() {
- const CommandLine* cli = CommandLine::ForCurrentProcess();
- const std::string filter_width_switch =
- cli->GetSwitchValueASCII(switches::kSuggestionNtpFilterWidth);
- unsigned int filter_width;
- if (base::StringToUint(filter_width_switch, &filter_width))
- return base::TimeDelta::FromMinutes(filter_width);
return base::TimeDelta::FromHours(1);
}
// static
history::VisitFilter::SortingOrder
SuggestionsSourceTopSites::GetSortingOrder() {
- const CommandLine* cli = CommandLine::ForCurrentProcess();
- if (cli->HasSwitch(switches::kSuggestionNtpGaussianFilter))
- return history::VisitFilter::ORDER_BY_TIME_GAUSSIAN;
- if (cli->HasSwitch(switches::kSuggestionNtpLinearFilter))
- return history::VisitFilter::ORDER_BY_TIME_LINEAR;
return history::VisitFilter::ORDER_BY_RECENCY;
}