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

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

Issue 11746010: Cleanup history favicon code (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/history/history.h ('k') | chrome/browser/history/history_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 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 } 100 }
101 101
102 void DerefDownloadId( 102 void DerefDownloadId(
103 const HistoryService::DownloadNextIdCallback& callback, 103 const HistoryService::DownloadNextIdCallback& callback,
104 int* id) { 104 int* id) {
105 callback.Run(*id); 105 callback.Run(*id);
106 } 106 }
107 107
108 void RunWithFaviconResults( 108 void RunWithFaviconResults(
109 const FaviconService::FaviconResultsCallback& callback, 109 const FaviconService::FaviconResultsCallback& callback,
110 const HistoryBackend::FaviconResults* results) { 110 std::vector<history::FaviconBitmapResult>* bitmap_results) {
111 callback.Run(results->bitmap_results, results->size_map); 111 callback.Run(*bitmap_results);
112 } 112 }
113 113
114 // Extract history::URLRows into GURLs for VisitedLinkMaster. 114 // Extract history::URLRows into GURLs for VisitedLinkMaster.
115 class URLIteratorFromURLRows : public VisitedLinkMaster::URLIterator { 115 class URLIteratorFromURLRows : public VisitedLinkMaster::URLIterator {
116 public: 116 public:
117 explicit URLIteratorFromURLRows(const history::URLRows& url_rows) 117 explicit URLIteratorFromURLRows(const history::URLRows& url_rows)
118 : itr_(url_rows.begin()), 118 : itr_(url_rows.begin()),
119 end_(url_rows.end()) { 119 end_(url_rows.end()) {
120 } 120 }
121 121
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after
610 CancelableTaskTracker::TaskId HistoryService::GetFavicons( 610 CancelableTaskTracker::TaskId HistoryService::GetFavicons(
611 const std::vector<GURL>& icon_urls, 611 const std::vector<GURL>& icon_urls,
612 int icon_types, 612 int icon_types,
613 int desired_size_in_dip, 613 int desired_size_in_dip,
614 const std::vector<ui::ScaleFactor>& desired_scale_factors, 614 const std::vector<ui::ScaleFactor>& desired_scale_factors,
615 const FaviconService::FaviconResultsCallback& callback, 615 const FaviconService::FaviconResultsCallback& callback,
616 CancelableTaskTracker* tracker) { 616 CancelableTaskTracker* tracker) {
617 DCHECK(thread_checker_.CalledOnValidThread()); 617 DCHECK(thread_checker_.CalledOnValidThread());
618 LoadBackendIfNecessary(); 618 LoadBackendIfNecessary();
619 619
620 HistoryBackend::FaviconResults* results = 620 std::vector<history::FaviconBitmapResult>* results =
621 new HistoryBackend::FaviconResults(); 621 new std::vector<history::FaviconBitmapResult>();
622 return tracker->PostTaskAndReply( 622 return tracker->PostTaskAndReply(
623 thread_->message_loop_proxy(), 623 thread_->message_loop_proxy(),
624 FROM_HERE, 624 FROM_HERE,
625 base::Bind(&HistoryBackend::GetFavicons, 625 base::Bind(&HistoryBackend::GetFavicons,
626 history_backend_.get(), icon_urls, icon_types, 626 history_backend_.get(), icon_urls, icon_types,
627 desired_size_in_dip, desired_scale_factors, results), 627 desired_size_in_dip, desired_scale_factors, results),
628 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 628 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
629 } 629 }
630 630
631 CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL( 631 CancelableTaskTracker::TaskId HistoryService::GetFaviconsForURL(
632 const GURL& page_url, 632 const GURL& page_url,
633 int icon_types, 633 int icon_types,
634 int desired_size_in_dip, 634 int desired_size_in_dip,
635 const std::vector<ui::ScaleFactor>& desired_scale_factors, 635 const std::vector<ui::ScaleFactor>& desired_scale_factors,
636 const FaviconService::FaviconResultsCallback& callback, 636 const FaviconService::FaviconResultsCallback& callback,
637 CancelableTaskTracker* tracker) { 637 CancelableTaskTracker* tracker) {
638 DCHECK(thread_checker_.CalledOnValidThread()); 638 DCHECK(thread_checker_.CalledOnValidThread());
639 LoadBackendIfNecessary(); 639 LoadBackendIfNecessary();
640 640
641 HistoryBackend::FaviconResults* results = 641 std::vector<history::FaviconBitmapResult>* results =
642 new HistoryBackend::FaviconResults(); 642 new std::vector<history::FaviconBitmapResult>();
643 return tracker->PostTaskAndReply( 643 return tracker->PostTaskAndReply(
644 thread_->message_loop_proxy(), 644 thread_->message_loop_proxy(),
645 FROM_HERE, 645 FROM_HERE,
646 base::Bind(&HistoryBackend::GetFaviconsForURL, 646 base::Bind(&HistoryBackend::GetFaviconsForURL,
647 history_backend_.get(), page_url, icon_types, 647 history_backend_.get(), page_url, icon_types,
648 desired_size_in_dip, desired_scale_factors, results), 648 desired_size_in_dip, desired_scale_factors, results),
649 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 649 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
650 } 650 }
651 651
652 CancelableTaskTracker::TaskId HistoryService::GetFaviconForID( 652 CancelableTaskTracker::TaskId HistoryService::GetFaviconForID(
653 history::FaviconID favicon_id, 653 history::FaviconID favicon_id,
654 int desired_size_in_dip, 654 int desired_size_in_dip,
655 ui::ScaleFactor desired_scale_factor, 655 ui::ScaleFactor desired_scale_factor,
656 const FaviconService::FaviconResultsCallback& callback, 656 const FaviconService::FaviconResultsCallback& callback,
657 CancelableTaskTracker* tracker) { 657 CancelableTaskTracker* tracker) {
658 DCHECK(thread_checker_.CalledOnValidThread()); 658 DCHECK(thread_checker_.CalledOnValidThread());
659 LoadBackendIfNecessary(); 659 LoadBackendIfNecessary();
660 660
661 HistoryBackend::FaviconResults* results = 661 std::vector<history::FaviconBitmapResult>* results =
662 new HistoryBackend::FaviconResults(); 662 new std::vector<history::FaviconBitmapResult>();
663 return tracker->PostTaskAndReply( 663 return tracker->PostTaskAndReply(
664 thread_->message_loop_proxy(), 664 thread_->message_loop_proxy(),
665 FROM_HERE, 665 FROM_HERE,
666 base::Bind(&HistoryBackend::GetFaviconForID, 666 base::Bind(&HistoryBackend::GetFaviconForID,
667 history_backend_.get(), favicon_id, 667 history_backend_.get(), favicon_id,
668 desired_size_in_dip, desired_scale_factor, results), 668 desired_size_in_dip, desired_scale_factor, results),
669 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 669 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
670 } 670 }
671 671
672 CancelableTaskTracker::TaskId HistoryService::UpdateFaviconMappingsAndFetch( 672 CancelableTaskTracker::TaskId HistoryService::UpdateFaviconMappingsAndFetch(
673 const GURL& page_url, 673 const GURL& page_url,
674 const std::vector<GURL>& icon_urls, 674 const std::vector<GURL>& icon_urls,
675 int icon_types, 675 int icon_types,
676 int desired_size_in_dip, 676 int desired_size_in_dip,
677 const std::vector<ui::ScaleFactor>& desired_scale_factors, 677 const std::vector<ui::ScaleFactor>& desired_scale_factors,
678 const FaviconService::FaviconResultsCallback& callback, 678 const FaviconService::FaviconResultsCallback& callback,
679 CancelableTaskTracker* tracker) { 679 CancelableTaskTracker* tracker) {
680 DCHECK(thread_checker_.CalledOnValidThread()); 680 DCHECK(thread_checker_.CalledOnValidThread());
681 LoadBackendIfNecessary(); 681 LoadBackendIfNecessary();
682 682
683 HistoryBackend::FaviconResults* results = 683 std::vector<history::FaviconBitmapResult>* results =
684 new HistoryBackend::FaviconResults(); 684 new std::vector<history::FaviconBitmapResult>();
685 return tracker->PostTaskAndReply( 685 return tracker->PostTaskAndReply(
686 thread_->message_loop_proxy(), 686 thread_->message_loop_proxy(),
687 FROM_HERE, 687 FROM_HERE,
688 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch, 688 base::Bind(&HistoryBackend::UpdateFaviconMappingsAndFetch,
689 history_backend_.get(), page_url, icon_urls, icon_types, 689 history_backend_.get(), page_url, icon_urls, icon_types,
690 desired_size_in_dip, desired_scale_factors, results), 690 desired_size_in_dip, desired_scale_factors, results),
691 base::Bind(&RunWithFaviconResults, callback, base::Owned(results))); 691 base::Bind(&RunWithFaviconResults, callback, base::Owned(results)));
692 } 692 }
693 693
694 void HistoryService::MergeFavicon( 694 void HistoryService::MergeFavicon(
695 const GURL& page_url, 695 const GURL& page_url,
696 const GURL& icon_url, 696 const GURL& icon_url,
697 history::IconType icon_type, 697 history::IconType icon_type,
698 scoped_refptr<base::RefCountedMemory> bitmap_data, 698 scoped_refptr<base::RefCountedMemory> bitmap_data,
699 const gfx::Size& pixel_size) { 699 const gfx::Size& pixel_size) {
700 DCHECK(thread_checker_.CalledOnValidThread()); 700 DCHECK(thread_checker_.CalledOnValidThread());
701 if (!CanAddURL(page_url)) 701 if (!CanAddURL(page_url))
702 return; 702 return;
703 703
704 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::MergeFavicon, page_url, 704 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::MergeFavicon, page_url,
705 icon_url, icon_type, bitmap_data, pixel_size); 705 icon_url, icon_type, bitmap_data, pixel_size);
706 } 706 }
707 707
708 void HistoryService::SetFavicons( 708 void HistoryService::SetFavicons(
709 const GURL& page_url, 709 const GURL& page_url,
710 history::IconType icon_type, 710 history::IconType icon_type,
711 const std::vector<history::FaviconBitmapData>& favicon_bitmap_data, 711 const std::vector<history::FaviconBitmapData>& favicon_bitmap_data) {
712 const history::IconURLSizesMap& icon_url_sizes) {
713 DCHECK(thread_checker_.CalledOnValidThread()); 712 DCHECK(thread_checker_.CalledOnValidThread());
714 if (!CanAddURL(page_url)) 713 if (!CanAddURL(page_url))
715 return; 714 return;
716 715
717 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetFavicons, page_url, 716 ScheduleAndForget(PRIORITY_NORMAL, &HistoryBackend::SetFavicons, page_url,
718 icon_type, favicon_bitmap_data, icon_url_sizes); 717 icon_type, favicon_bitmap_data);
719 } 718 }
720 719
721 void HistoryService::SetFaviconsOutOfDateForPage(const GURL& page_url) { 720 void HistoryService::SetFaviconsOutOfDateForPage(const GURL& page_url) {
722 DCHECK(thread_checker_.CalledOnValidThread()); 721 DCHECK(thread_checker_.CalledOnValidThread());
723 ScheduleAndForget(PRIORITY_NORMAL, 722 ScheduleAndForget(PRIORITY_NORMAL,
724 &HistoryBackend::SetFaviconsOutOfDateForPage, page_url); 723 &HistoryBackend::SetFaviconsOutOfDateForPage, page_url);
725 } 724 }
726 725
727 void HistoryService::CloneFavicons(const GURL& old_page_url, 726 void HistoryService::CloneFavicons(const GURL& old_page_url,
728 const GURL& new_page_url) { 727 const GURL& new_page_url) {
(...skipping 637 matching lines...) Expand 10 before | Expand all | Expand 10 after
1366 } 1365 }
1367 } 1366 }
1368 1367
1369 void HistoryService::OnDeleteDirectiveProcessed( 1368 void HistoryService::OnDeleteDirectiveProcessed(
1370 const sync_pb::HistoryDeleteDirectiveSpecifics& delete_directive) { 1369 const sync_pb::HistoryDeleteDirectiveSpecifics& delete_directive) {
1371 DVLOG(1) << "Processed delete directive: " 1370 DVLOG(1) << "Processed delete directive: "
1372 << DeleteDirectiveToString(delete_directive); 1371 << DeleteDirectiveToString(delete_directive);
1373 // TODO(akalin): Keep track of which delete directives we've already 1372 // TODO(akalin): Keep track of which delete directives we've already
1374 // processed. 1373 // processed.
1375 } 1374 }
OLDNEW
« no previous file with comments | « chrome/browser/history/history.h ('k') | chrome/browser/history/history_backend.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698