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

Side by Side Diff: chrome/browser/history/android/android_history_provider_service.cc

Issue 365133003: Change AndroidHistoryProviderService to use CancelableTaskTracker (4/6) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@cancelable_task_tracker.4
Patch Set: clang-format Created 6 years, 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/history/android/android_history_provider_service.h" 5 #include "chrome/browser/history/android/android_history_provider_service.h"
6 6
7 #include "chrome/browser/history/history_backend.h" 7 #include "chrome/browser/history/history_backend.h"
8 #include "chrome/browser/history/history_service.h" 8 #include "chrome/browser/history/history_service.h"
9 #include "chrome/browser/history/history_service_factory.h" 9 #include "chrome/browser/history/history_service_factory.h"
10 #include "chrome/browser/profiles/profile.h" 10 #include "chrome/browser/profiles/profile.h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 if (hs) { 81 if (hs) {
82 hs->Schedule(HistoryService::PRIORITY_NORMAL, 82 hs->Schedule(HistoryService::PRIORITY_NORMAL,
83 &HistoryBackend::DeleteHistoryAndBookmarks, NULL, request, 83 &HistoryBackend::DeleteHistoryAndBookmarks, NULL, request,
84 selection, selection_args); 84 selection, selection_args);
85 } else { 85 } else {
86 request->ForwardResultAsync(request->handle(), false, 0); 86 request->ForwardResultAsync(request->handle(), false, 0);
87 } 87 }
88 return request->handle(); 88 return request->handle();
89 } 89 }
90 90
91 AndroidHistoryProviderService::Handle 91 base::CancelableTaskTracker::TaskId
92 AndroidHistoryProviderService::InsertHistoryAndBookmark( 92 AndroidHistoryProviderService::InsertHistoryAndBookmark(
93 const history::HistoryAndBookmarkRow& values, 93 const history::HistoryAndBookmarkRow& values,
94 CancelableRequestConsumerBase* consumer, 94 const InsertCallback& callback,
95 const InsertCallback& callback) { 95 base::CancelableTaskTracker* tracker) {
96 InsertRequest* request = new InsertRequest(callback);
97 AddRequest(request, consumer);
98 HistoryService* hs = 96 HistoryService* hs =
99 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); 97 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
100 if (hs) { 98 if (hs) {
101 hs->Schedule(HistoryService::PRIORITY_NORMAL, 99 DCHECK(hs->thread_) << "History service being called after cleanup";
102 &HistoryBackend::InsertHistoryAndBookmark, NULL, request, values); 100 DCHECK(hs->thread_checker_.CalledOnValidThread());
101 return tracker->PostTaskAndReplyWithResult(
102 hs->thread_->message_loop_proxy().get(),
103 FROM_HERE,
104 base::Bind(&HistoryBackend::InsertHistoryAndBookmark,
105 hs->history_backend_.get(),
106 values),
107 callback);
103 } else { 108 } else {
104 request->ForwardResultAsync(request->handle(), false, 0); 109 callback.Run(0);
110 return base::CancelableTaskTracker::kBadTaskId;
105 } 111 }
106 return request->handle();
107 } 112 }
108 113
109 AndroidHistoryProviderService::Handle 114 AndroidHistoryProviderService::Handle
110 AndroidHistoryProviderService::DeleteHistory( 115 AndroidHistoryProviderService::DeleteHistory(
111 const std::string& selection, 116 const std::string& selection,
112 const std::vector<base::string16>& selection_args, 117 const std::vector<base::string16>& selection_args,
113 CancelableRequestConsumerBase* consumer, 118 CancelableRequestConsumerBase* consumer,
114 const DeleteCallback& callback) { 119 const DeleteCallback& callback) {
115 DeleteRequest* request = new DeleteRequest(callback); 120 DeleteRequest* request = new DeleteRequest(callback);
116 AddRequest(request, consumer); 121 AddRequest(request, consumer);
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 HistoryService* hs = 163 HistoryService* hs =
159 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); 164 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
160 if (hs) { 165 if (hs) {
161 hs->ScheduleAndForget(HistoryService::PRIORITY_NORMAL, 166 hs->ScheduleAndForget(HistoryService::PRIORITY_NORMAL,
162 &HistoryBackend::CloseStatement, statement); 167 &HistoryBackend::CloseStatement, statement);
163 } else { 168 } else {
164 delete statement; 169 delete statement;
165 } 170 }
166 } 171 }
167 172
173 base::CancelableTaskTracker::TaskId
174 AndroidHistoryProviderService::InsertSearchTerm(
175 const history::SearchRow& row,
176 const InsertCallback& callback,
177 base::CancelableTaskTracker* tracker) {
178 HistoryService* hs =
179 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
180 if (hs) {
181 DCHECK(hs->thread_) << "History service being called after cleanup";
182 DCHECK(hs->thread_checker_.CalledOnValidThread());
183 return tracker->PostTaskAndReplyWithResult(
184 hs->thread_->message_loop_proxy().get(),
185 FROM_HERE,
186 base::Bind(
187 &HistoryBackend::InsertSearchTerm, hs->history_backend_.get(), row),
188 callback);
189 } else {
190 callback.Run(0);
191 return base::CancelableTaskTracker::kBadTaskId;
192 }
193 }
194
168 AndroidHistoryProviderService::Handle 195 AndroidHistoryProviderService::Handle
169 AndroidHistoryProviderService::InsertSearchTerm(
170 const history::SearchRow& row,
171 CancelableRequestConsumerBase* consumer,
172 const InsertCallback& callback) {
173 InsertRequest* request = new InsertRequest(callback);
174 AddRequest(request, consumer);
175 HistoryService* hs =
176 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
177 if (hs) {
178 hs->Schedule(HistoryService::PRIORITY_NORMAL,
179 &HistoryBackend::InsertSearchTerm, NULL, request, row);
180 } else {
181 request->ForwardResultAsync(request->handle(), false, 0);
182 }
183 return request->handle();
184 }
185
186 AndroidHistoryProviderService::Handle
187 AndroidHistoryProviderService::UpdateSearchTerms( 196 AndroidHistoryProviderService::UpdateSearchTerms(
188 const history::SearchRow& row, 197 const history::SearchRow& row,
189 const std::string& selection, 198 const std::string& selection,
190 const std::vector<base::string16>& selection_args, 199 const std::vector<base::string16>& selection_args,
191 CancelableRequestConsumerBase* consumer, 200 CancelableRequestConsumerBase* consumer,
192 const UpdateCallback& callback) { 201 const UpdateCallback& callback) {
193 UpdateRequest* request = new UpdateRequest(callback); 202 UpdateRequest* request = new UpdateRequest(callback);
194 AddRequest(request, consumer); 203 AddRequest(request, consumer);
195 HistoryService* hs = 204 HistoryService* hs =
196 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS); 205 HistoryServiceFactory::GetForProfile(profile_, Profile::EXPLICIT_ACCESS);
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
245 projections, 254 projections,
246 selection, 255 selection,
247 selection_args, 256 selection_args,
248 sort_order), 257 sort_order),
249 callback); 258 callback);
250 } else { 259 } else {
251 callback.Run(NULL); 260 callback.Run(NULL);
252 return base::CancelableTaskTracker::kBadTaskId; 261 return base::CancelableTaskTracker::kBadTaskId;
253 } 262 }
254 } 263 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698