Chromium Code Reviews| Index: chrome/browser/history/history_service.cc |
| diff --git a/chrome/browser/history/history_service.cc b/chrome/browser/history/history_service.cc |
| index 7c892acd1f4b6cb14ecc226be842a0d19504a587..cb32da5997e74fe386465f5b1d2f00d620e6a601 100644 |
| --- a/chrome/browser/history/history_service.cc |
| +++ b/chrome/browser/history/history_service.cc |
| @@ -86,6 +86,13 @@ void RunWithQueryURLResult(const HistoryService::QueryURLCallback& callback, |
| callback.Run(result->success, result->row, result->visits); |
| } |
| +void RunWithQueryRedirectsResult( |
|
droger
2014/06/23 16:50:35
If I understand correctly, you need this helper ju
sdefresne
2014/06/24 13:41:00
PostTaskAndReplyWithResult does not works with Can
|
| + const HistoryService::QueryRedirectsCallback& callback, |
| + const GURL& url, |
| + const history::QueryRedirectsResult* result) { |
| + callback.Run(url, result->success, &result->redirects); |
| +} |
| + |
| // Extract history::URLRows into GURLs for VisitedLinkMaster. |
| class URLIteratorFromURLRows |
| : public visitedlink::VisitedLinkMaster::URLIterator { |
| @@ -797,22 +804,40 @@ base::CancelableTaskTracker::TaskId HistoryService::QueryHistory( |
| base::Bind(callback, base::Owned(query_results))); |
| } |
| -HistoryService::Handle HistoryService::QueryRedirectsFrom( |
| +base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsFrom( |
|
droger
2014/06/23 16:50:35
Is this function actually used? I see it only call
sdefresne
2014/06/24 13:41:00
It's only called from unit tests and browser tests
|
| const GURL& from_url, |
| - CancelableRequestConsumerBase* consumer, |
| - const QueryRedirectsCallback& callback) { |
| + const QueryRedirectsCallback& callback, |
| + base::CancelableTaskTracker* tracker) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - return Schedule(PRIORITY_UI, &HistoryBackend::QueryRedirectsFrom, consumer, |
| - new history::QueryRedirectsRequest(callback), from_url); |
| + history::QueryRedirectsResult* result = new history::QueryRedirectsResult(); |
| + return tracker->PostTaskAndReply( |
| + thread_->message_loop_proxy().get(), |
| + FROM_HERE, |
| + base::Bind(&HistoryBackend::QueryRedirectsFrom, |
| + history_backend_.get(), |
| + from_url, |
| + base::Unretained(result)), |
| + base::Bind(&RunWithQueryRedirectsResult, |
| + callback, |
| + from_url, |
| + base::Owned(result))); |
| } |
| -HistoryService::Handle HistoryService::QueryRedirectsTo( |
| +base::CancelableTaskTracker::TaskId HistoryService::QueryRedirectsTo( |
| const GURL& to_url, |
| - CancelableRequestConsumerBase* consumer, |
| - const QueryRedirectsCallback& callback) { |
| + const QueryRedirectsCallback& callback, |
| + base::CancelableTaskTracker* tracker) { |
| DCHECK(thread_checker_.CalledOnValidThread()); |
| - return Schedule(PRIORITY_NORMAL, &HistoryBackend::QueryRedirectsTo, consumer, |
| - new history::QueryRedirectsRequest(callback), to_url); |
| + history::QueryRedirectsResult* result = new history::QueryRedirectsResult(); |
| + return tracker->PostTaskAndReply( |
| + thread_->message_loop_proxy().get(), |
| + FROM_HERE, |
| + base::Bind(&HistoryBackend::QueryRedirectsTo, |
| + history_backend_.get(), |
| + to_url, |
| + base::Unretained(result)), |
| + base::Bind( |
| + &RunWithQueryRedirectsResult, callback, to_url, base::Owned(result))); |
| } |
| HistoryService::Handle HistoryService::GetVisibleVisitCountToHost( |