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

Side by Side Diff: chrome/browser/bookmarks/bookmark_model.cc

Issue 10873022: Revert 152904 - Moving FaviconService to a ProfileKeyedService. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 8 years, 4 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
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 #include "chrome/browser/bookmarks/bookmark_model.h" 5 #include "chrome/browser/bookmarks/bookmark_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <functional> 8 #include <functional>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
11 #include "base/bind_helpers.h" 11 #include "base/bind_helpers.h"
12 #include "base/memory/scoped_vector.h" 12 #include "base/memory/scoped_vector.h"
13 #include "base/string_util.h" 13 #include "base/string_util.h"
14 #include "build/build_config.h" 14 #include "build/build_config.h"
15 #include "chrome/browser/bookmarks/bookmark_expanded_state_tracker.h" 15 #include "chrome/browser/bookmarks/bookmark_expanded_state_tracker.h"
16 #include "chrome/browser/bookmarks/bookmark_index.h" 16 #include "chrome/browser/bookmarks/bookmark_index.h"
17 #include "chrome/browser/bookmarks/bookmark_model_observer.h" 17 #include "chrome/browser/bookmarks/bookmark_model_observer.h"
18 #include "chrome/browser/bookmarks/bookmark_storage.h" 18 #include "chrome/browser/bookmarks/bookmark_storage.h"
19 #include "chrome/browser/bookmarks/bookmark_utils.h" 19 #include "chrome/browser/bookmarks/bookmark_utils.h"
20 #include "chrome/browser/browser_process.h" 20 #include "chrome/browser/browser_process.h"
21 #include "chrome/browser/favicon/favicon_service_factory.h"
22 #include "chrome/browser/history/history_notifications.h" 21 #include "chrome/browser/history/history_notifications.h"
23 #include "chrome/browser/history/history_service_factory.h" 22 #include "chrome/browser/history/history_service_factory.h"
24 #include "chrome/browser/prefs/pref_service.h" 23 #include "chrome/browser/prefs/pref_service.h"
25 #include "chrome/browser/profiles/profile.h" 24 #include "chrome/browser/profiles/profile.h"
26 #include "chrome/common/chrome_notification_types.h" 25 #include "chrome/common/chrome_notification_types.h"
27 #include "chrome/common/pref_names.h" 26 #include "chrome/common/pref_names.h"
28 #include "content/public/browser/notification_service.h" 27 #include "content/public/browser/notification_service.h"
29 #include "grit/generated_resources.h" 28 #include "grit/generated_resources.h"
30 #include "ui/base/l10n/l10n_util.h" 29 #include "ui/base/l10n/l10n_util.h"
31 #include "ui/base/l10n/l10n_util_collator.h" 30 #include "ui/base/l10n/l10n_util_collator.h"
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after
773 node->SetTitle(l10n_util::GetStringUTF16(title_id)); 772 node->SetTitle(l10n_util::GetStringUTF16(title_id));
774 node->set_type(type); 773 node->set_type(type);
775 return node; 774 return node;
776 } 775 }
777 776
778 void BookmarkModel::OnFaviconDataAvailable( 777 void BookmarkModel::OnFaviconDataAvailable(
779 FaviconService::Handle handle, 778 FaviconService::Handle handle,
780 history::FaviconData favicon) { 779 history::FaviconData favicon) {
781 BookmarkNode* node = 780 BookmarkNode* node =
782 load_consumer_.GetClientData( 781 load_consumer_.GetClientData(
783 FaviconServiceFactory::GetForProfile( 782 profile_->GetFaviconService(Profile::EXPLICIT_ACCESS), handle);
784 profile_, Profile::EXPLICIT_ACCESS), handle);
785 DCHECK(node); 783 DCHECK(node);
786 node->set_favicon_load_handle(0); 784 node->set_favicon_load_handle(0);
787 if (favicon.is_valid()) { 785 if (favicon.is_valid()) {
788 scoped_ptr<gfx::Image> favicon_image( 786 scoped_ptr<gfx::Image> favicon_image(
789 gfx::ImageFromPNGEncodedData(favicon.image_data->front(), 787 gfx::ImageFromPNGEncodedData(favicon.image_data->front(),
790 favicon.image_data->size())); 788 favicon.image_data->size()));
791 if (favicon_image.get()) { 789 if (favicon_image.get()) {
792 node->set_favicon(*favicon_image.get()); 790 node->set_favicon(*favicon_image.get());
793 FaviconLoaded(node); 791 FaviconLoaded(node);
794 } 792 }
795 } 793 }
796 } 794 }
797 795
798 void BookmarkModel::LoadFavicon(BookmarkNode* node) { 796 void BookmarkModel::LoadFavicon(BookmarkNode* node) {
799 if (node->is_folder()) 797 if (node->is_folder())
800 return; 798 return;
801 799
802 DCHECK(node->url().is_valid()); 800 DCHECK(node->url().is_valid());
803 FaviconService* favicon_service = FaviconServiceFactory::GetForProfile( 801 FaviconService* favicon_service =
804 profile_, Profile::EXPLICIT_ACCESS); 802 profile_->GetFaviconService(Profile::EXPLICIT_ACCESS);
805 if (!favicon_service) 803 if (!favicon_service)
806 return; 804 return;
807 FaviconService::Handle handle = favicon_service->GetFaviconForURL( 805 FaviconService::Handle handle = favicon_service->GetFaviconForURL(
808 profile_, node->url(), history::FAVICON, &load_consumer_, 806 node->url(), history::FAVICON, &load_consumer_,
809 base::Bind(&BookmarkModel::OnFaviconDataAvailable, 807 base::Bind(&BookmarkModel::OnFaviconDataAvailable,
810 base::Unretained(this))); 808 base::Unretained(this)));
811 load_consumer_.SetClientData(favicon_service, handle, node); 809 load_consumer_.SetClientData(favicon_service, handle, node);
812 node->set_favicon_load_handle(handle); 810 node->set_favicon_load_handle(handle);
813 } 811 }
814 812
815 void BookmarkModel::FaviconLoaded(const BookmarkNode* node) { 813 void BookmarkModel::FaviconLoaded(const BookmarkNode* node) {
816 FOR_EACH_OBSERVER(BookmarkModelObserver, observers_, 814 FOR_EACH_OBSERVER(BookmarkModelObserver, observers_,
817 BookmarkNodeFaviconChanged(this, node)); 815 BookmarkNodeFaviconChanged(this, node));
818 } 816 }
819 817
820 void BookmarkModel::CancelPendingFaviconLoadRequests(BookmarkNode* node) { 818 void BookmarkModel::CancelPendingFaviconLoadRequests(BookmarkNode* node) {
821 if (node->favicon_load_handle()) { 819 if (node->favicon_load_handle()) {
822 FaviconService* favicon_service = FaviconServiceFactory::GetForProfile( 820 FaviconService* favicon_service =
823 profile_, Profile::EXPLICIT_ACCESS); 821 profile_->GetFaviconService(Profile::EXPLICIT_ACCESS);
824 if (favicon_service) 822 if (favicon_service)
825 favicon_service->CancelRequest(node->favicon_load_handle()); 823 favicon_service->CancelRequest(node->favicon_load_handle());
826 node->set_favicon_load_handle(0); 824 node->set_favicon_load_handle(0);
827 } 825 }
828 } 826 }
829 827
830 void BookmarkModel::Observe(int type, 828 void BookmarkModel::Observe(int type,
831 const content::NotificationSource& source, 829 const content::NotificationSource& source,
832 const content::NotificationDetails& details) { 830 const content::NotificationDetails& details) {
833 switch (type) { 831 switch (type) {
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
872 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() { 870 BookmarkLoadDetails* BookmarkModel::CreateLoadDetails() {
873 BookmarkPermanentNode* bb_node = 871 BookmarkPermanentNode* bb_node =
874 CreatePermanentNode(BookmarkNode::BOOKMARK_BAR); 872 CreatePermanentNode(BookmarkNode::BOOKMARK_BAR);
875 BookmarkPermanentNode* other_node = 873 BookmarkPermanentNode* other_node =
876 CreatePermanentNode(BookmarkNode::OTHER_NODE); 874 CreatePermanentNode(BookmarkNode::OTHER_NODE);
877 BookmarkPermanentNode* mobile_node = 875 BookmarkPermanentNode* mobile_node =
878 CreatePermanentNode(BookmarkNode::MOBILE); 876 CreatePermanentNode(BookmarkNode::MOBILE);
879 return new BookmarkLoadDetails(bb_node, other_node, mobile_node, 877 return new BookmarkLoadDetails(bb_node, other_node, mobile_node,
880 new BookmarkIndex(profile_), next_node_id_); 878 new BookmarkIndex(profile_), next_node_id_);
881 } 879 }
OLDNEW
« no previous file with comments | « chrome/browser/bookmarks/bookmark_html_writer_unittest.cc ('k') | chrome/browser/favicon/favicon_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698