Index: chrome/browser/history/url_index_private_data.cc |
diff --git a/chrome/browser/history/url_index_private_data.cc b/chrome/browser/history/url_index_private_data.cc |
index 33b702633f7bf14da5d8bb02d9ba267878bfe54a..413ea5e34df7232dbb3c52a159541cd4b001731f 100644 |
--- a/chrome/browser/history/url_index_private_data.cc |
+++ b/chrome/browser/history/url_index_private_data.cc |
@@ -280,7 +280,8 @@ bool URLIndexPrivateData::UpdateURL( |
HistoryService* history_service, |
const URLRow& row, |
const std::string& languages, |
- const std::set<std::string>& scheme_whitelist) { |
+ const std::set<std::string>& scheme_whitelist, |
+ base::CancelableTaskTracker* tracker) { |
// The row may or may not already be in our index. If it is not already |
// indexed and it qualifies then it gets indexed. If it is already |
// indexed and still qualifies then it gets updated, otherwise it |
@@ -293,7 +294,7 @@ bool URLIndexPrivateData::UpdateURL( |
URLRow new_row(row); |
new_row.set_id(row_id); |
row_was_updated = RowQualifiesAsSignificant(new_row, base::Time()) && |
- IndexRow(NULL, history_service, new_row, languages, scheme_whitelist); |
+ IndexRow(NULL, history_service, new_row, languages, scheme_whitelist, tracker); |
blundell
2014/06/26 09:55:39
nit: 80 chars?
sdefresne
2014/06/28 08:14:26
Done.
|
} else if (RowQualifiesAsSignificant(row, base::Time())) { |
// This indexed row still qualifies and will be re-indexed. |
// The url won't have changed but the title, visit count, etc. |
@@ -308,7 +309,7 @@ bool URLIndexPrivateData::UpdateURL( |
row_to_update.set_last_visit(row.last_visit()); |
// If something appears to have changed, update the recent visits |
// information. |
- ScheduleUpdateRecentVisits(history_service, row_id); |
+ ScheduleUpdateRecentVisits(history_service, row_id, tracker); |
// While the URL is guaranteed to remain stable, the title may have |
// changed. If so, then update the index with the changed words. |
if (title_updated) { |
@@ -357,10 +358,10 @@ void URLIndexPrivateData::UpdateRecentVisits( |
void URLIndexPrivateData::ScheduleUpdateRecentVisits( |
HistoryService* history_service, |
- URLID url_id) { |
+ URLID url_id, |
+ base::CancelableTaskTracker* tracker) { |
history_service->ScheduleDBTask( |
- new UpdateRecentVisitsFromHistoryDBTask(this, url_id), |
- &recent_visits_consumer_); |
+ new UpdateRecentVisitsFromHistoryDBTask(this, url_id), tracker); |
} |
// Helper functor for DeleteURL. |
@@ -445,7 +446,7 @@ scoped_refptr<URLIndexPrivateData> URLIndexPrivateData::RebuildFromHistory( |
rebuilt_data->last_time_rebuilt_from_history_ = base::Time::Now(); |
for (URLRow row; history_enum.GetNextURL(&row); ) { |
rebuilt_data->IndexRow(history_db, NULL, row, languages, |
- scheme_whitelist); |
+ scheme_whitelist, NULL); |
} |
UMA_HISTOGRAM_TIMES("History.InMemoryURLIndexingTime", |
@@ -468,10 +469,6 @@ bool URLIndexPrivateData::WritePrivateDataToCacheFileTask( |
return private_data->SaveToFile(file_path); |
} |
-void URLIndexPrivateData::CancelPendingUpdates() { |
- recent_visits_consumer_.CancelAllRequests(); |
-} |
- |
scoped_refptr<URLIndexPrivateData> URLIndexPrivateData::Duplicate() const { |
scoped_refptr<URLIndexPrivateData> data_copy = new URLIndexPrivateData; |
data_copy->last_time_rebuilt_from_history_ = last_time_rebuilt_from_history_; |
@@ -685,7 +682,8 @@ bool URLIndexPrivateData::IndexRow( |
HistoryService* history_service, |
const URLRow& row, |
const std::string& languages, |
- const std::set<std::string>& scheme_whitelist) { |
+ const std::set<std::string>& scheme_whitelist, |
+ base::CancelableTaskTracker* tracker) { |
const GURL& gurl(row.url()); |
// Index only URLs with a whitelisted scheme. |
@@ -730,8 +728,9 @@ bool URLIndexPrivateData::IndexRow( |
&recent_visits)) |
UpdateRecentVisits(row_id, recent_visits); |
} else { |
+ DCHECK(tracker); |
DCHECK(history_service); |
- ScheduleUpdateRecentVisits(history_service, row_id); |
+ ScheduleUpdateRecentVisits(history_service, row_id, tracker); |
} |
return true; |