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

Unified Diff: chrome/browser/history/history_service.cc

Issue 349153006: Port HistoryService::QueryRedirects{From,To} to CancelableTaskTracker (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: 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
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(

Powered by Google App Engine
This is Rietveld 408576698