| Index: chrome/browser/history/history_service.cc
|
| diff --git a/chrome/browser/history/history_service.cc b/chrome/browser/history/history_service.cc
|
| index 8d6b5437975ff47600b7f10309558a7c9bcbe994..d70d45ad31b81bef49961d4b55dde6952d234ac0 100644
|
| --- a/chrome/browser/history/history_service.cc
|
| +++ b/chrome/browser/history/history_service.cc
|
| @@ -255,8 +255,9 @@ void HistoryService::ClearCachedDataForContextID(
|
| history::ContextID context_id) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::ClearCachedDataForContextID, context_id);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::ClearCachedDataForContextID,
|
| + history_backend_.get(), context_id));
|
| }
|
|
|
| history::URLDatabase* HistoryService::InMemoryDatabase() {
|
| @@ -307,9 +308,9 @@ void HistoryService::SetKeywordSearchTermsForURL(const GURL& url,
|
| const base::string16& term) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_UI,
|
| - &HistoryBackend::SetKeywordSearchTermsForURL,
|
| - url, keyword_id, term);
|
| + ScheduleTask(PRIORITY_UI,
|
| + base::Bind(&HistoryBackend::SetKeywordSearchTermsForURL,
|
| + history_backend_.get(), url, keyword_id, term));
|
| }
|
|
|
| void HistoryService::DeleteAllSearchTermsForKeyword(KeywordID keyword_id) {
|
| @@ -319,31 +320,34 @@ void HistoryService::DeleteAllSearchTermsForKeyword(KeywordID keyword_id) {
|
| if (in_memory_backend_)
|
| in_memory_backend_->DeleteAllSearchTermsForKeyword(keyword_id);
|
|
|
| - ScheduleAndForget(PRIORITY_UI,
|
| - &HistoryBackend::DeleteAllSearchTermsForKeyword,
|
| - keyword_id);
|
| + ScheduleTask(PRIORITY_UI,
|
| + base::Bind(&HistoryBackend::DeleteAllSearchTermsForKeyword,
|
| + history_backend_.get(), keyword_id));
|
| }
|
|
|
| void HistoryService::DeleteKeywordSearchTermForURL(const GURL& url) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteKeywordSearchTermForURL,
|
| - url);
|
| + ScheduleTask(PRIORITY_UI,
|
| + base::Bind(&HistoryBackend::DeleteKeywordSearchTermForURL,
|
| + history_backend_.get(), url));
|
| }
|
|
|
| void HistoryService::DeleteMatchingURLsForKeyword(KeywordID keyword_id,
|
| const base::string16& term) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_UI, &HistoryBackend::DeleteMatchingURLsForKeyword,
|
| - keyword_id, term);
|
| + ScheduleTask(PRIORITY_UI,
|
| + base::Bind(&HistoryBackend::DeleteMatchingURLsForKeyword,
|
| + history_backend_.get(), keyword_id, term));
|
| }
|
|
|
| void HistoryService::URLsNoLongerBookmarked(const std::set<GURL>& urls) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::URLsNoLongerBookmarked,
|
| - urls);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::URLsNoLongerBookmarked,
|
| + history_backend_.get(), urls));
|
| }
|
|
|
| void HistoryService::AddObserver(history::HistoryServiceObserver* observer) {
|
| @@ -382,8 +386,10 @@ void HistoryService::FlushForTest(const base::Closure& flushed) {
|
| void HistoryService::SetOnBackendDestroyTask(const base::Closure& task) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetOnBackendDestroyTask,
|
| - base::MessageLoop::current(), task);
|
| + ScheduleTask(
|
| + PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::SetOnBackendDestroyTask,
|
| + history_backend_.get(), base::MessageLoop::current(), task));
|
| }
|
|
|
| void HistoryService::AddPage(const GURL& url,
|
| @@ -440,7 +446,9 @@ void HistoryService::AddPage(const history::HistoryAddPageArgs& add_page_args) {
|
| }
|
| }
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::AddPage, add_page_args);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::AddPage, history_backend_.get(),
|
| + add_page_args));
|
| }
|
|
|
| void HistoryService::AddPageNoVisitForBookmark(const GURL& url,
|
| @@ -450,15 +458,17 @@ void HistoryService::AddPageNoVisitForBookmark(const GURL& url,
|
| if (!CanAddURL(url))
|
| return;
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::AddPageNoVisitForBookmark, url, title);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::AddPageNoVisitForBookmark,
|
| + history_backend_.get(), url, title));
|
| }
|
|
|
| void HistoryService::SetPageTitle(const GURL& url,
|
| const base::string16& title) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetPageTitle, url, title);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::SetPageTitle,
|
| + history_backend_.get(), url, title));
|
| }
|
|
|
| void HistoryService::UpdateWithPageEndTime(history::ContextID context_id,
|
| @@ -467,8 +477,10 @@ void HistoryService::UpdateWithPageEndTime(history::ContextID context_id,
|
| Time end_ts) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateWithPageEndTime,
|
| - context_id, nav_entry_id, url, end_ts);
|
| + ScheduleTask(
|
| + PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::UpdateWithPageEndTime, history_backend_.get(),
|
| + context_id, nav_entry_id, url, end_ts));
|
| }
|
|
|
| void HistoryService::AddPageWithDetails(const GURL& url,
|
| @@ -498,8 +510,9 @@ void HistoryService::AddPageWithDetails(const GURL& url,
|
| history::URLRows rows;
|
| rows.push_back(row);
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::AddPagesWithDetails, rows, visit_source);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::AddPagesWithDetails,
|
| + history_backend_.get(), rows, visit_source));
|
| }
|
|
|
| void HistoryService::AddPagesWithDetails(const history::URLRows& info,
|
| @@ -517,8 +530,9 @@ void HistoryService::AddPagesWithDetails(const history::URLRows& info,
|
| visitedlink_master_->AddURLs(urls);
|
| }
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::AddPagesWithDetails, info, visit_source);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::AddPagesWithDetails,
|
| + history_backend_.get(), info, visit_source));
|
| }
|
|
|
| base::CancelableTaskTracker::TaskId HistoryService::GetFavicons(
|
| @@ -643,8 +657,10 @@ void HistoryService::MergeFavicon(
|
| if (!CanAddURL(page_url))
|
| return;
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::MergeFavicon, page_url,
|
| - icon_url, icon_type, bitmap_data, pixel_size);
|
| + ScheduleTask(
|
| + PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::MergeFavicon, history_backend_.get(),
|
| + page_url, icon_url, icon_type, bitmap_data, pixel_size));
|
| }
|
|
|
| void HistoryService::SetFavicons(
|
| @@ -657,31 +673,35 @@ void HistoryService::SetFavicons(
|
| if (!CanAddURL(page_url))
|
| return;
|
|
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetFavicons, page_url,
|
| - icon_type, icon_url, bitmaps);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::SetFavicons, history_backend_.get(),
|
| + page_url, icon_type, icon_url, bitmaps));
|
| }
|
|
|
| void HistoryService::SetFaviconsOutOfDateForPage(const GURL& page_url) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::SetFaviconsOutOfDateForPage, page_url);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::SetFaviconsOutOfDateForPage,
|
| + history_backend_.get(), page_url));
|
| }
|
|
|
| void HistoryService::CloneFavicons(const GURL& old_page_url,
|
| const GURL& new_page_url) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::CloneFavicons,
|
| - old_page_url, new_page_url);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::CloneFavicons,
|
| + history_backend_.get(), old_page_url, new_page_url));
|
| }
|
|
|
| void HistoryService::SetImportedFavicons(
|
| const std::vector<ImportedFaviconUsage>& favicon_usage) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::SetImportedFavicons, favicon_usage);
|
| + ScheduleTask(PRIORITY_NORMAL,
|
| + base::Bind(&HistoryBackend::SetImportedFavicons,
|
| + history_backend_.get(), favicon_usage));
|
| }
|
|
|
| base::CancelableTaskTracker::TaskId HistoryService::QueryURL(
|
| @@ -756,14 +776,15 @@ void HistoryService::QueryDownloads(
|
| void HistoryService::UpdateDownload(const history::DownloadRow& data) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::UpdateDownload, data);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::UpdateDownload,
|
| + history_backend_.get(), data));
|
| }
|
|
|
| void HistoryService::RemoveDownloads(const std::set<uint32>& ids) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL,
|
| - &HistoryBackend::RemoveDownloads, ids);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::RemoveDownloads,
|
| + history_backend_.get(), ids));
|
| }
|
|
|
| base::CancelableTaskTracker::TaskId HistoryService::QueryHistory(
|
| @@ -941,7 +962,8 @@ void HistoryService::RebuildTable(
|
| const scoped_refptr<URLEnumerator>& enumerator) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::IterateURLs, enumerator);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::IterateURLs,
|
| + history_backend_.get(), enumerator));
|
| }
|
|
|
| bool HistoryService::Init(
|
| @@ -981,8 +1003,9 @@ bool HistoryService::Init(
|
| languages = prefs->GetString(prefs::kAcceptLanguages);
|
| }
|
|
|
| - ScheduleAndForget(PRIORITY_UI, &HistoryBackend::Init, languages, no_db_,
|
| - history_database_params);
|
| + ScheduleTask(PRIORITY_UI,
|
| + base::Bind(&HistoryBackend::Init, history_backend_.get(),
|
| + languages, no_db_, history_database_params));
|
|
|
| if (visitedlink_master_) {
|
| bool result = visitedlink_master_->Init();
|
| @@ -995,8 +1018,8 @@ bool HistoryService::Init(
|
| void HistoryService::ScheduleAutocomplete(const base::Callback<
|
| void(history::HistoryBackend*, history::URLDatabase*)>& callback) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| - ScheduleAndForget(
|
| - PRIORITY_UI, &HistoryBackend::ScheduleAutocomplete, callback);
|
| + ScheduleTask(PRIORITY_UI, base::Bind(&HistoryBackend::ScheduleAutocomplete,
|
| + history_backend_.get(), callback));
|
| }
|
|
|
| void HistoryService::ScheduleTask(SchedulePriority priority,
|
| @@ -1098,7 +1121,8 @@ void HistoryService::DeleteURL(const GURL& url) {
|
| DCHECK(thread_) << "History service being called after cleanup";
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| // We will update the visited links when we observe the delete notifications.
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURL, url);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::DeleteURL,
|
| + history_backend_.get(), url));
|
| }
|
|
|
| void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) {
|
| @@ -1106,7 +1130,8 @@ void HistoryService::DeleteURLsForTest(const std::vector<GURL>& urls) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
| // We will update the visited links when we observe the delete
|
| // notifications.
|
| - ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURLs, urls);
|
| + ScheduleTask(PRIORITY_NORMAL, base::Bind(&HistoryBackend::DeleteURLs,
|
| + history_backend_.get(), urls));
|
| }
|
|
|
| void HistoryService::ExpireHistoryBetween(
|
|
|