| OLD | NEW |
| 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 611 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 622 int desired_size_in_dip, | 622 int desired_size_in_dip, |
| 623 const std::vector<ui::ScaleFactor>& desired_scale_factors, | 623 const std::vector<ui::ScaleFactor>& desired_scale_factors, |
| 624 const FaviconService::FaviconResultsCallback& callback, | 624 const FaviconService::FaviconResultsCallback& callback, |
| 625 CancelableTaskTracker* tracker) { | 625 CancelableTaskTracker* tracker) { |
| 626 DCHECK(thread_checker_.CalledOnValidThread()); | 626 DCHECK(thread_checker_.CalledOnValidThread()); |
| 627 LoadBackendIfNecessary(); | 627 LoadBackendIfNecessary(); |
| 628 | 628 |
| 629 std::vector<chrome::FaviconBitmapResult>* results = | 629 std::vector<chrome::FaviconBitmapResult>* results = |
| 630 new std::vector<chrome::FaviconBitmapResult>(); | 630 new std::vector<chrome::FaviconBitmapResult>(); |
| 631 return tracker->PostTaskAndReply( | 631 return tracker->PostTaskAndReply( |
| 632 thread_->message_loop_proxy(), | 632 thread_->message_loop_proxy().get(), |
| 633 FROM_HERE, | 633 FROM_HERE, |
| 634 base::Bind(&HistoryBackend::GetFavicons, | 634 base::Bind(&HistoryBackend::GetFavicons, |
| 635 history_backend_.get(), icon_urls, icon_types, | 635 history_backend_.get(), |
| 636 desired_size_in_dip, desired_scale_factors, results), | 636 icon_urls, |
| 637 icon_types, |
| 638 desired_size_in_dip, |
| 639 desired_scale_factors, |
| 640 results), |
| 637 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 641 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
| 638 } | 642 } |
| 639 | 643 |
| 640 CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( | 644 CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( |
| 641 const GURL& page_url, | 645 const GURL& page_url, |
| 642 int icon_types, | 646 int icon_types, |
| 643 int desired_size_in_dip, | 647 int desired_size_in_dip, |
| 644 const std::vector<ui::ScaleFactor>& desired_scale_factors, | 648 const std::vector<ui::ScaleFactor>& desired_scale_factors, |
| 645 const FaviconService::FaviconResultsCallback& callback, | 649 const FaviconService::FaviconResultsCallback& callback, |
| 646 CancelableTaskTracker* tracker) { | 650 CancelableTaskTracker* tracker) { |
| 647 DCHECK(thread_checker_.CalledOnValidThread()); | 651 DCHECK(thread_checker_.CalledOnValidThread()); |
| 648 LoadBackendIfNecessary(); | 652 LoadBackendIfNecessary(); |
| 649 | 653 |
| 650 std::vector<chrome::FaviconBitmapResult>* results = | 654 std::vector<chrome::FaviconBitmapResult>* results = |
| 651 new std::vector<chrome::FaviconBitmapResult>(); | 655 new std::vector<chrome::FaviconBitmapResult>(); |
| 652 return tracker->PostTaskAndReply( | 656 return tracker->PostTaskAndReply( |
| 653 thread_->message_loop_proxy(), | 657 thread_->message_loop_proxy().get(), |
| 654 FROM_HERE, | 658 FROM_HERE, |
| 655 base::Bind(&HistoryBackend::GetFaviconsForURL, | 659 base::Bind(&HistoryBackend::GetFaviconsForURL, |
| 656 history_backend_.get(), page_url, icon_types, | 660 history_backend_.get(), |
| 657 desired_size_in_dip, desired_scale_factors, results), | 661 page_url, |
| 662 icon_types, |
| 663 desired_size_in_dip, |
| 664 desired_scale_factors, |
| 665 results), |
| 658 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 666 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
| 659 } | 667 } |
| 660 | 668 |
| 661 CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( | 669 CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( |
| 662 chrome::FaviconID favicon_id, | 670 chrome::FaviconID favicon_id, |
| 663 int desired_size_in_dip, | 671 int desired_size_in_dip, |
| 664 ui::ScaleFactor desired_scale_factor, | 672 ui::ScaleFactor desired_scale_factor, |
| 665 const FaviconService::FaviconResultsCallback& callback, | 673 const FaviconService::FaviconResultsCallback& callback, |
| 666 CancelableTaskTracker* tracker) { | 674 CancelableTaskTracker* tracker) { |
| 667 DCHECK(thread_checker_.CalledOnValidThread()); | 675 DCHECK(thread_checker_.CalledOnValidThread()); |
| 668 LoadBackendIfNecessary(); | 676 LoadBackendIfNecessary(); |
| 669 | 677 |
| 670 std::vector<chrome::FaviconBitmapResult>* results = | 678 std::vector<chrome::FaviconBitmapResult>* results = |
| 671 new std::vector<chrome::FaviconBitmapResult>(); | 679 new std::vector<chrome::FaviconBitmapResult>(); |
| 672 return tracker->PostTaskAndReply( | 680 return tracker->PostTaskAndReply( |
| 673 thread_->message_loop_proxy(), | 681 thread_->message_loop_proxy().get(), |
| 674 FROM_HERE, | 682 FROM_HERE, |
| 675 base::Bind(&HistoryBackend::GetFaviconForID, | 683 base::Bind(&HistoryBackend::GetFaviconForID, |
| 676 history_backend_.get(), favicon_id, | 684 history_backend_.get(), |
| 677 desired_size_in_dip, desired_scale_factor, results), | 685 favicon_id, |
| 686 desired_size_in_dip, |
| 687 desired_scale_factor, |
| 688 results), |
| 678 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 689 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
| 679 } | 690 } |
| 680 | 691 |
| 681 CancelableTaskTracker::TaskId HistoryService::UpdateFaviconMappingsAndFetch( | 692 CancelableTaskTracker::TaskId HistoryService::UpdateFaviconMappingsAndFetch( |
| 682 const GURL& page_url, | 693 const GURL& page_url, |
| 683 const std::vector<GURL>& icon_urls, | 694 const std::vector<GURL>& icon_urls, |
| 684 int icon_types, | 695 int icon_types, |
| 685 int desired_size_in_dip, | 696 int desired_size_in_dip, |
| 686 const std::vector<ui::ScaleFactor>& desired_scale_factors, | 697 const std::vector<ui::ScaleFactor>& desired_scale_factors, |
| 687 const FaviconService::FaviconResultsCallback& callback, | 698 const FaviconService::FaviconResultsCallback& callback, |
| 688 CancelableTaskTracker* tracker) { | 699 CancelableTaskTracker* tracker) { |
| 689 DCHECK(thread_checker_.CalledOnValidThread()); | 700 DCHECK(thread_checker_.CalledOnValidThread()); |
| 690 LoadBackendIfNecessary(); | 701 LoadBackendIfNecessary(); |
| 691 | 702 |
| 692 std::vector<chrome::FaviconBitmapResult>* results = | 703 std::vector<chrome::FaviconBitmapResult>* results = |
| 693 new std::vector<chrome::FaviconBitmapResult>(); | 704 new std::vector<chrome::FaviconBitmapResult>(); |
| 694 return tracker->PostTaskAndReply( | 705 return tracker->PostTaskAndReply( |
| 695 thread_->message_loop_proxy(), | 706 thread_->message_loop_proxy().get(), |
| 696 FROM_HERE, | 707 FROM_HERE, |
| 697 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, | 708 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, |
| 698 history_backend_.get(), page_url, icon_urls, icon_types, | 709 history_backend_.get(), |
| 699 desired_size_in_dip, desired_scale_factors, results), | 710 page_url, |
| 711 icon_urls, |
| 712 icon_types, |
| 713 desired_size_in_dip, |
| 714 desired_scale_factors, |
| 715 results), |
| 700 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); | 716 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); |
| 701 } | 717 } |
| 702 | 718 |
| 703 void HistoryService::MergeFavicon( | 719 void HistoryService::MergeFavicon( |
| 704 const GURL& page_url, | 720 const GURL& page_url, |
| 705 const GURL& icon_url, | 721 const GURL& icon_url, |
| 706 chrome::IconType icon_type, | 722 chrome::IconType icon_type, |
| 707 scoped_refptr<base::RefCountedMemory> bitmap_data, | 723 scoped_refptr<base::RefCountedMemory> bitmap_data, |
| 708 const gfx::Size& pixel_size) { | 724 const gfx::Size& pixel_size) { |
| 709 DCHECK(thread_checker_.CalledOnValidThread()); | 725 DCHECK(thread_checker_.CalledOnValidThread()); |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1103 | 1119 |
| 1104 void HistoryService::ExpireHistoryBetween( | 1120 void HistoryService::ExpireHistoryBetween( |
| 1105 const std::set<GURL>& restrict_urls, | 1121 const std::set<GURL>& restrict_urls, |
| 1106 Time begin_time, | 1122 Time begin_time, |
| 1107 Time end_time, | 1123 Time end_time, |
| 1108 const base::Closure& callback, | 1124 const base::Closure& callback, |
| 1109 CancelableTaskTracker* tracker) { | 1125 CancelableTaskTracker* tracker) { |
| 1110 DCHECK(thread_); | 1126 DCHECK(thread_); |
| 1111 DCHECK(thread_checker_.CalledOnValidThread()); | 1127 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1112 DCHECK(history_backend_.get()); | 1128 DCHECK(history_backend_.get()); |
| 1113 tracker->PostTaskAndReply(thread_->message_loop_proxy(), | 1129 tracker->PostTaskAndReply(thread_->message_loop_proxy().get(), |
| 1114 FROM_HERE, | 1130 FROM_HERE, |
| 1115 base::Bind(&HistoryBackend::ExpireHistoryBetween, | 1131 base::Bind(&HistoryBackend::ExpireHistoryBetween, |
| 1116 history_backend_, | 1132 history_backend_, |
| 1117 restrict_urls, | 1133 restrict_urls, |
| 1118 begin_time, | 1134 begin_time, |
| 1119 end_time), | 1135 end_time), |
| 1120 callback); | 1136 callback); |
| 1121 } | 1137 } |
| 1122 | 1138 |
| 1123 void HistoryService::ExpireHistory( | 1139 void HistoryService::ExpireHistory( |
| 1124 const std::vector<history::ExpireHistoryArgs>& expire_list, | 1140 const std::vector<history::ExpireHistoryArgs>& expire_list, |
| 1125 const base::Closure& callback, | 1141 const base::Closure& callback, |
| 1126 CancelableTaskTracker* tracker) { | 1142 CancelableTaskTracker* tracker) { |
| 1127 DCHECK(thread_); | 1143 DCHECK(thread_); |
| 1128 DCHECK(thread_checker_.CalledOnValidThread()); | 1144 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1129 DCHECK(history_backend_.get()); | 1145 DCHECK(history_backend_.get()); |
| 1130 tracker->PostTaskAndReply( | 1146 tracker->PostTaskAndReply( |
| 1131 thread_->message_loop_proxy(), | 1147 thread_->message_loop_proxy().get(), |
| 1132 FROM_HERE, | 1148 FROM_HERE, |
| 1133 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list), | 1149 base::Bind(&HistoryBackend::ExpireHistory, history_backend_, expire_list), |
| 1134 callback); | 1150 callback); |
| 1135 } | 1151 } |
| 1136 | 1152 |
| 1137 void HistoryService::ExpireLocalAndRemoteHistoryBetween( | 1153 void HistoryService::ExpireLocalAndRemoteHistoryBetween( |
| 1138 const std::set<GURL>& restrict_urls, | 1154 const std::set<GURL>& restrict_urls, |
| 1139 Time begin_time, | 1155 Time begin_time, |
| 1140 Time end_time, | 1156 Time end_time, |
| 1141 const base::Closure& callback, | 1157 const base::Closure& callback, |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1273 DCHECK(thread_checker_.CalledOnValidThread()); | 1289 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1274 visit_database_observers_.RemoveObserver(observer); | 1290 visit_database_observers_.RemoveObserver(observer); |
| 1275 } | 1291 } |
| 1276 | 1292 |
| 1277 void HistoryService::NotifyVisitDBObserversOnAddVisit( | 1293 void HistoryService::NotifyVisitDBObserversOnAddVisit( |
| 1278 const history::BriefVisitInfo& info) { | 1294 const history::BriefVisitInfo& info) { |
| 1279 DCHECK(thread_checker_.CalledOnValidThread()); | 1295 DCHECK(thread_checker_.CalledOnValidThread()); |
| 1280 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, | 1296 FOR_EACH_OBSERVER(history::VisitDatabaseObserver, visit_database_observers_, |
| 1281 OnAddVisit(info)); | 1297 OnAddVisit(info)); |
| 1282 } | 1298 } |
| OLD | NEW |