Chromium Code Reviews| Index: chrome/browser/search/instant_service.cc |
| diff --git a/chrome/browser/search/instant_service.cc b/chrome/browser/search/instant_service.cc |
| index 1144e405f7885dd2572749e7fd40575caf337fa9..392234c4aeedfd7714d4d6c96cfb3dac85764f91 100644 |
| --- a/chrome/browser/search/instant_service.cc |
| +++ b/chrome/browser/search/instant_service.cc |
| @@ -6,6 +6,7 @@ |
| #include "chrome/browser/chrome_notification_types.h" |
| #include "chrome/browser/history/top_sites.h" |
| +#include "chrome/browser/history/top_sites_service_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/browser/search/instant_io_context.h" |
| #include "chrome/browser/search/instant_service_observer.h" |
| @@ -92,11 +93,12 @@ InstantService::InstantService(Profile* profile) |
| content::NOTIFICATION_RENDERER_PROCESS_TERMINATED, |
| content::NotificationService::AllSources()); |
| - history::TopSites* top_sites = profile_->GetTopSites(); |
| - if (top_sites) { |
| - registrar_.Add(this, |
| - chrome::NOTIFICATION_TOP_SITES_CHANGED, |
| - content::Source<history::TopSites>(top_sites)); |
| + scoped_refptr<history::TopSites> top_sites_provider = |
|
sdefresne
2014/12/29 09:48:14
nit: rename top_sites_provider to top_sites
Jitu( very slow this week)
2014/12/30 10:09:03
Done.
|
| + TopSitesServiceFactory::GetForProfile(profile_); |
| + if (top_sites_provider.get()) { |
| + registrar_.Add( |
| + this, chrome::NOTIFICATION_TOP_SITES_CHANGED, |
| + content::Source<history::TopSites>(top_sites_provider.get())); |
| } |
| if (profile_ && profile_->GetResourceContext()) { |
| @@ -161,24 +163,27 @@ void InstantService::RemoveObserver(InstantServiceObserver* observer) { |
| } |
| void InstantService::DeleteMostVisitedItem(const GURL& url) { |
| - history::TopSites* top_sites = profile_->GetTopSites(); |
| - if (!top_sites) |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesServiceFactory::GetForProfile(profile_); |
| + if (top_sites.get() == NULL) |
| return; |
| top_sites->AddBlacklistedURL(url); |
| } |
| void InstantService::UndoMostVisitedDeletion(const GURL& url) { |
| - history::TopSites* top_sites = profile_->GetTopSites(); |
| - if (!top_sites) |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesServiceFactory::GetForProfile(profile_); |
| + if (top_sites.get() == NULL) |
| return; |
| top_sites->RemoveBlacklistedURL(url); |
| } |
| void InstantService::UndoAllMostVisitedDeletions() { |
| - history::TopSites* top_sites = profile_->GetTopSites(); |
| - if (!top_sites) |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesServiceFactory::GetForProfile(profile_); |
| + if (top_sites.get() == NULL) |
| return; |
| top_sites->ClearBlacklistedURLs(); |
| @@ -222,11 +227,13 @@ void InstantService::Observe(int type, |
| content::Source<content::RenderProcessHost>(source)->GetID()); |
| break; |
| case chrome::NOTIFICATION_TOP_SITES_CHANGED: { |
| - history::TopSites* top_sites = profile_->GetTopSites(); |
| - if (top_sites) { |
| + scoped_refptr<history::TopSites> top_sites = |
| + TopSitesServiceFactory::GetForProfile(profile_); |
| + if (top_sites.get()) { |
| top_sites->GetMostVisitedURLs( |
| base::Bind(&InstantService::OnMostVisitedItemsReceived, |
| - weak_ptr_factory_.GetWeakPtr()), false); |
| + weak_ptr_factory_.GetWeakPtr()), |
| + false); |
| } |
| break; |
| } |