Index: chrome/browser/history/history_service_factory.cc |
diff --git a/chrome/browser/history/history_service_factory.cc b/chrome/browser/history/history_service_factory.cc |
index 52d2826baab9891f79744f57726e642314c5f4a8..d174674c67944f810d5a0375d11ccacaf7d83da6 100644 |
--- a/chrome/browser/history/history_service_factory.cc |
+++ b/chrome/browser/history/history_service_factory.cc |
@@ -72,10 +72,16 @@ HistoryServiceFactory::~HistoryServiceFactory() { |
KeyedService* HistoryServiceFactory::BuildServiceInstanceFor( |
content::BrowserContext* context) const { |
Profile* profile = static_cast<Profile*>(context); |
- scoped_ptr<HistoryService> history_service(new HistoryService( |
- ChromeHistoryClientFactory::GetForProfile(profile), profile)); |
+ ChromeHistoryClient* history_client = |
+ ChromeHistoryClientFactory::GetForProfile(profile); |
+ scoped_ptr<HistoryService> history_service( |
+ new HistoryService(history_client, profile)); |
if (!history_service->Init(profile->GetPath())) |
return NULL; |
+ // TODO(sdefresne): once NOTIFICATION_HISTORY_URL* notifications are no |
+ // longer used, remove this reference to the HistoryService from the |
+ // ChromeHistoryClient, http://crbug.com/42178 |
+ history_client->SetHistoryService(history_service.get()); |
ChromeBookmarkClientFactory::GetForProfile(profile) |
->SetHistoryService(history_service.get()); |
return history_service.release(); |