| 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 13f137f60611fe466847634efc7373a1b892cebf..d2fd74ca4218634cbebd0a98f8e0f4bedecbad0e 100644
|
| --- a/chrome/browser/history/history_service_factory.cc
|
| +++ b/chrome/browser/history/history_service_factory.cc
|
| @@ -6,12 +6,15 @@
|
|
|
| #include "base/prefs/pref_service.h"
|
| #include "chrome/browser/bookmarks/bookmark_model_factory.h"
|
| +#include "chrome/browser/history/chrome_history_client.h"
|
| #include "chrome/browser/history/history_service.h"
|
| #include "chrome/browser/profiles/incognito_helpers.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "components/bookmarks/browser/bookmark_model.h"
|
| #include "components/keyed_service/content/browser_context_dependency_manager.h"
|
|
|
| +using history::ChromeHistoryClient;
|
| +
|
| // static
|
| HistoryService* HistoryServiceFactory::GetForProfile(
|
| Profile* profile, Profile::ServiceAccessType sat) {
|
| @@ -20,8 +23,9 @@ HistoryService* HistoryServiceFactory::GetForProfile(
|
| sat != Profile::EXPLICIT_ACCESS)
|
| return NULL;
|
|
|
| - return static_cast<HistoryService*>(
|
| + ChromeHistoryClient* history_client = static_cast<ChromeHistoryClient*>(
|
| GetInstance()->GetServiceForBrowserContext(profile, true));
|
| + return history_client ? history_client->history_service() : NULL;
|
| }
|
|
|
| // static
|
| @@ -33,15 +37,17 @@ HistoryServiceFactory::GetForProfileIfExists(
|
| sat != Profile::EXPLICIT_ACCESS)
|
| return NULL;
|
|
|
| - return static_cast<HistoryService*>(
|
| + ChromeHistoryClient* history_client = static_cast<ChromeHistoryClient*>(
|
| GetInstance()->GetServiceForBrowserContext(profile, false));
|
| + return history_client ? history_client->history_service() : NULL;
|
| }
|
|
|
| // static
|
| HistoryService*
|
| HistoryServiceFactory::GetForProfileWithoutCreating(Profile* profile) {
|
| - return static_cast<HistoryService*>(
|
| + ChromeHistoryClient* history_client = static_cast<ChromeHistoryClient*>(
|
| GetInstance()->GetServiceForBrowserContext(profile, false));
|
| + return history_client ? history_client->history_service() : NULL;
|
| }
|
|
|
| // static
|
| @@ -67,12 +73,12 @@ HistoryServiceFactory::~HistoryServiceFactory() {
|
| KeyedService* HistoryServiceFactory::BuildServiceInstanceFor(
|
| content::BrowserContext* context) const {
|
| Profile* profile = static_cast<Profile*>(context);
|
| - HistoryService* history_service = new HistoryService(profile);
|
| - if (!history_service->Init(profile->GetPath(),
|
| - BookmarkModelFactory::GetForProfile(profile))) {
|
| + ChromeHistoryClient* history_client = new ChromeHistoryClient(profile);
|
| + HistoryService* history_service = history_client->history_service();
|
| + if (!history_service->Init(profile->GetPath())) {
|
| return NULL;
|
| }
|
| - return history_service;
|
| + return history_client;
|
| }
|
|
|
| content::BrowserContext* HistoryServiceFactory::GetBrowserContextToUse(
|
|
|