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

Side by Side Diff: chrome/browser/history/history_service.cc

Issue 137263007: Move CancelableTaskTracker to //base/task/CancelableTaskTracker. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Move to base/task/cancelable_task_tracker* Created 6 years, 10 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
« no previous file with comments | « chrome/browser/history/history_service.h ('k') | chrome/browser/history/top_sites_backend.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 // The history system runs on a background thread so that potentially slow 5 // The history system runs on a background thread so that potentially slow
6 // database operations don't delay the browser. This backend processing is 6 // database operations don't delay the browser. This backend processing is
7 // represented by HistoryBackend. The HistoryService's job is to dispatch to 7 // represented by HistoryBackend. The HistoryService's job is to dispatch to
8 // that thread. 8 // that thread.
9 // 9 //
10 // Main thread History thread 10 // Main thread History thread
(...skipping 566 matching lines...) Expand 10 before | Expand all | Expand 10 after
577 ++i) 577 ++i)
578 urls.push_back(i->url()); 578 urls.push_back(i->url());
579 579
580 visitedlink_master_->AddURLs(urls); 580 visitedlink_master_->AddURLs(urls);
581 } 581 }
582 582
583 ScheduleAndForget(PRIORITY_NORMAL, 583 ScheduleAndForget(PRIORITY_NORMAL,
584 &HistoryBackend::AddPagesWithDetails, info, visit_source); 584 &HistoryBackend::AddPagesWithDetails, info, visit_source);
585 } 585 }
586 586
587 CancelableTaskTracker::TaskId HistoryService::GetFavicons( 587 base::CancelableTaskTracker::TaskId HistoryService::GetFavicons(
588 const std::vector<GURL>& icon_urls, 588 const std::vector<GURL>& icon_urls,
589 int icon_types, 589 int icon_types,
590 int desired_size_in_dip, 590 int desired_size_in_dip,
591 const std::vector<ui::ScaleFactor>& desired_scale_factors, 591 const std::vector<ui::ScaleFactor>& desired_scale_factors,
592 const FaviconService::FaviconResultsCallback& callback, 592 const FaviconService::FaviconResultsCallback& callback,
593 CancelableTaskTracker* tracker) { 593 base::CancelableTaskTracker* tracker) {
594 DCHECK(thread_checker_.CalledOnValidThread()); 594 DCHECK(thread_checker_.CalledOnValidThread());
595 LoadBackendIfNecessary(); 595 LoadBackendIfNecessary();
596 596
597 std::vector<chrome::FaviconBitmapResult>* results = 597 std::vector<chrome::FaviconBitmapResult>* results =
598 new std::vector<chrome::FaviconBitmapResult>(); 598 new std::vector<chrome::FaviconBitmapResult>();
599 return tracker->PostTaskAndReply( 599 return tracker->PostTaskAndReply(
600 thread_->message_loop_proxy().get(), 600 thread_->message_loop_proxy().get(),
601 FROM_HERE, 601 FROM_HERE,
602 base::Bind(&HistoryBackend::GetFavicons, 602 base::Bind(&HistoryBackend::GetFavicons,
603 history_backend_.get(), 603 history_backend_.get(),
604 icon_urls, 604 icon_urls,
605 icon_types, 605 icon_types,
606 desired_size_in_dip, 606 desired_size_in_dip,
607 desired_scale_factors, 607 desired_scale_factors,
608 results), 608 results),
609 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 609 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
610 } 610 }
611 611
612 CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( 612 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL(
613 const GURL& page_url, 613 const GURL& page_url,
614 int icon_types, 614 int icon_types,
615 int desired_size_in_dip, 615 int desired_size_in_dip,
616 const std::vector<ui::ScaleFactor>& desired_scale_factors, 616 const std::vector<ui::ScaleFactor>& desired_scale_factors,
617 const FaviconService::FaviconResultsCallback& callback, 617 const FaviconService::FaviconResultsCallback& callback,
618 CancelableTaskTracker* tracker) { 618 base::CancelableTaskTracker* tracker) {
619 DCHECK(thread_checker_.CalledOnValidThread()); 619 DCHECK(thread_checker_.CalledOnValidThread());
620 LoadBackendIfNecessary(); 620 LoadBackendIfNecessary();
621 621
622 std::vector<chrome::FaviconBitmapResult>* results = 622 std::vector<chrome::FaviconBitmapResult>* results =
623 new std::vector<chrome::FaviconBitmapResult>(); 623 new std::vector<chrome::FaviconBitmapResult>();
624 return tracker->PostTaskAndReply( 624 return tracker->PostTaskAndReply(
625 thread_->message_loop_proxy().get(), 625 thread_->message_loop_proxy().get(),
626 FROM_HERE, 626 FROM_HERE,
627 base::Bind(&HistoryBackend::GetFaviconsForURL, 627 base::Bind(&HistoryBackend::GetFaviconsForURL,
628 history_backend_.get(), 628 history_backend_.get(),
629 page_url, 629 page_url,
630 icon_types, 630 icon_types,
631 desired_size_in_dip, 631 desired_size_in_dip,
632 desired_scale_factors, 632 desired_scale_factors,
633 results), 633 results),
634 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 634 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
635 } 635 }
636 636
637 CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL( 637 base::CancelableTaskTracker::TaskId HistoryService::GetLargestFaviconForURL(
638 const GURL& page_url, 638 const GURL& page_url,
639 const std::vector<int>& icon_types, 639 const std::vector<int>& icon_types,
640 int minimum_size_in_pixels, 640 int minimum_size_in_pixels,
641 const FaviconService::FaviconRawCallback& callback, 641 const FaviconService::FaviconRawCallback& callback,
642 CancelableTaskTracker* tracker) { 642 base::CancelableTaskTracker* tracker) {
643 DCHECK(thread_checker_.CalledOnValidThread()); 643 DCHECK(thread_checker_.CalledOnValidThread());
644 LoadBackendIfNecessary(); 644 LoadBackendIfNecessary();
645 645
646 chrome::FaviconBitmapResult* result = new chrome::FaviconBitmapResult(); 646 chrome::FaviconBitmapResult* result = new chrome::FaviconBitmapResult();
647 return tracker->PostTaskAndReply( 647 return tracker->PostTaskAndReply(
648 thread_->message_loop_proxy().get(), 648 thread_->message_loop_proxy().get(),
649 FROM_HERE, 649 FROM_HERE,
650 base::Bind(&HistoryBackend::GetLargestFaviconForURL, 650 base::Bind(&HistoryBackend::GetLargestFaviconForURL,
651 history_backend_.get(), 651 history_backend_.get(),
652 page_url, 652 page_url,
653 icon_types, 653 icon_types,
654 minimum_size_in_pixels, 654 minimum_size_in_pixels,
655 result), 655 result),
656 base::Bind(&RunWithFaviconResult, callback, base::Owned(result))); 656 base::Bind(&RunWithFaviconResult, callback, base::Owned(result)));
657 } 657 }
658 658
659 CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( 659 base::CancelableTaskTracker::TaskId HistoryService::GetFaviconForID(
660 chrome::FaviconID favicon_id, 660 chrome::FaviconID favicon_id,
661 int desired_size_in_dip, 661 int desired_size_in_dip,
662 ui::ScaleFactor desired_scale_factor, 662 ui::ScaleFactor desired_scale_factor,
663 const FaviconService::FaviconResultsCallback& callback, 663 const FaviconService::FaviconResultsCallback& callback,
664 CancelableTaskTracker* tracker) { 664 base::CancelableTaskTracker* tracker) {
665 DCHECK(thread_checker_.CalledOnValidThread()); 665 DCHECK(thread_checker_.CalledOnValidThread());
666 LoadBackendIfNecessary(); 666 LoadBackendIfNecessary();
667 667
668 std::vector<chrome::FaviconBitmapResult>* results = 668 std::vector<chrome::FaviconBitmapResult>* results =
669 new std::vector<chrome::FaviconBitmapResult>(); 669 new std::vector<chrome::FaviconBitmapResult>();
670 return tracker->PostTaskAndReply( 670 return tracker->PostTaskAndReply(
671 thread_->message_loop_proxy().get(), 671 thread_->message_loop_proxy().get(),
672 FROM_HERE, 672 FROM_HERE,
673 base::Bind(&HistoryBackend::GetFaviconForID, 673 base::Bind(&HistoryBackend::GetFaviconForID,
674 history_backend_.get(), 674 history_backend_.get(),
675 favicon_id, 675 favicon_id,
676 desired_size_in_dip, 676 desired_size_in_dip,
677 desired_scale_factor, 677 desired_scale_factor,
678 results), 678 results),
679 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 679 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
680 } 680 }
681 681
682 CancelableTaskTracker::TaskId HistoryService::UpdateFaviconMappingsAndFetch( 682 base::CancelableTaskTracker::TaskId
683 HistoryService::UpdateFaviconMappingsAndFetch(
683 const GURL& page_url, 684 const GURL& page_url,
684 const std::vector<GURL>& icon_urls, 685 const std::vector<GURL>& icon_urls,
685 int icon_types, 686 int icon_types,
686 int desired_size_in_dip, 687 int desired_size_in_dip,
687 const std::vector<ui::ScaleFactor>& desired_scale_factors, 688 const std::vector<ui::ScaleFactor>& desired_scale_factors,
688 const FaviconService::FaviconResultsCallback& callback, 689 const FaviconService::FaviconResultsCallback& callback,
689 CancelableTaskTracker* tracker) { 690 base::CancelableTaskTracker* tracker) {
690 DCHECK(thread_checker_.CalledOnValidThread()); 691 DCHECK(thread_checker_.CalledOnValidThread());
691 LoadBackendIfNecessary(); 692 LoadBackendIfNecessary();
692 693
693 std::vector<chrome::FaviconBitmapResult>* results = 694 std::vector<chrome::FaviconBitmapResult>* results =
694 new std::vector<chrome::FaviconBitmapResult>(); 695 new std::vector<chrome::FaviconBitmapResult>();
695 return tracker->PostTaskAndReply( 696 return tracker->PostTaskAndReply(
696 thread_->message_loop_proxy().get(), 697 thread_->message_loop_proxy().get(),
697 FROM_HERE, 698 FROM_HERE,
698 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, 699 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch,
699 history_backend_.get(), 700 history_backend_.get(),
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
1107 // We will update the visited links when we observe the delete 1108 // We will update the visited links when we observe the delete
1108 // notifications. 1109 // notifications.
1109 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURLs, urls); 1110 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::DeleteURLs, urls);
1110 } 1111 }
1111 1112
1112 void HistoryService::ExpireHistoryBetween( 1113 void HistoryService::ExpireHistoryBetween(
1113 const std::set<GURL>& restrict_urls, 1114 const std::set<GURL>& restrict_urls,
1114 Time begin_time, 1115 Time begin_time,
1115 Time end_time, 1116 Time end_time,
1116 const base::Closure& callback, 1117 const base::Closure& callback,
1117 CancelableTaskTracker* tracker) { 1118 base::CancelableTaskTracker* tracker) {
1118 DCHECK(thread_); 1119 DCHECK(thread_);
1119 DCHECK(thread_checker_.CalledOnValidThread()); 1120 DCHECK(thread_checker_.CalledOnValidThread());
1120 DCHECK(history_backend_.get()); 1121 DCHECK(history_backend_.get());
1121 tracker->PostTaskAndReply(thread_->message_loop_proxy().get(), 1122 tracker->PostTaskAndReply(thread_->message_loop_proxy().get(),
1122 FROM_HERE, 1123 FROM_HERE,
1123 base::Bind(&HistoryBackend::ExpireHistoryBetween, 1124 base::Bind(&HistoryBackend::ExpireHistoryBetween,
1124 history_backend_, 1125 history_backend_,
1125 restrict_urls, 1126 restrict_urls,
1126 begin_time, 1127 begin_time,
1127 end_time), 1128 end_time),
1128 callback); 1129 callback);
1129 } 1130 }
1130 1131
1131 void HistoryService::ExpireHistory( 1132 void HistoryService::ExpireHistory(
1132 const std::vector<history::ExpireHistoryArgs>& expire_list, 1133 const std::vector<history::ExpireHistoryArgs>& expire_list,
1133 const base::Closure& callback, 1134 const base::Closure& callback,
1134 CancelableTaskTracker* tracker) { 1135 base::CancelableTaskTracker* tracker) {
1135 DCHECK(thread_); 1136 DCHECK(thread_);
1136 DCHECK(thread_checker_.CalledOnValidThread()); 1137 DCHECK(thread_checker_.CalledOnValidThread());
1137 DCHECK(history_backend_.get()); 1138 DCHECK(history_backend_.get());
1138 tracker->PostTaskAndReply( 1139 tracker->PostTaskAndReply(
1139 thread_->message_loop_proxy().get(), 1140 thread_->message_loop_proxy().get(),
1140 FROM_HERE, 1141 FROM_HERE,
1141 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list), 1142 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list),
1142 callback); 1143 callback);
1143 } 1144 }
1144 1145
1145 void HistoryService::ExpireLocalAndRemoteHistoryBetween( 1146 void HistoryService::ExpireLocalAndRemoteHistoryBetween(
1146 const std::set<GURL>& restrict_urls, 1147 const std::set<GURL>& restrict_urls,
1147 Time begin_time, 1148 Time begin_time,
1148 Time end_time, 1149 Time end_time,
1149 const base::Closure& callback, 1150 const base::Closure& callback,
1150 CancelableTaskTracker* tracker) { 1151 base::CancelableTaskTracker* tracker) {
1151 // TODO(dubroy): This should be factored out into a separate class that 1152 // TODO(dubroy): This should be factored out into a separate class that
1152 // dispatches deletions to the proper places. 1153 // dispatches deletions to the proper places.
1153 1154
1154 history::WebHistoryService* web_history = 1155 history::WebHistoryService* web_history =
1155 WebHistoryServiceFactory::GetForProfile(profile_); 1156 WebHistoryServiceFactory::GetForProfile(profile_);
1156 if (web_history) { 1157 if (web_history) {
1157 // TODO(dubroy): This API does not yet support deletion of specific URLs. 1158 // TODO(dubroy): This API does not yet support deletion of specific URLs.
1158 DCHECK(restrict_urls.empty()); 1159 DCHECK(restrict_urls.empty());
1159 1160
1160 delete_directive_handler_.CreateDeleteDirectives( 1161 delete_directive_handler_.CreateDeleteDirectives(
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
1254 DCHECK(thread_checker_.CalledOnValidThread()); 1255 DCHECK(thread_checker_.CalledOnValidThread());
1255 visit_database_observers_.RemoveObserver(observer); 1256 visit_database_observers_.RemoveObserver(observer);
1256 } 1257 }
1257 1258
1258 void HistoryService::NotifyVisitDBObserversOnAddVisit( 1259 void HistoryService::NotifyVisitDBObserversOnAddVisit(
1259 const history::BriefVisitInfo& info) { 1260 const history::BriefVisitInfo& info) {
1260 DCHECK(thread_checker_.CalledOnValidThread()); 1261 DCHECK(thread_checker_.CalledOnValidThread());
1261 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, 1262 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_,
1262 OnAddVisit(info)); 1263 OnAddVisit(info));
1263 } 1264 }
OLDNEW
« no previous file with comments | « chrome/browser/history/history_service.h ('k') | chrome/browser/history/top_sites_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698