| Index: chrome/browser/sessions/tab_restore_service_factory.cc
|
| diff --git a/chrome/browser/sessions/tab_restore_service_factory.cc b/chrome/browser/sessions/tab_restore_service_factory.cc
|
| index 3c457ed9809b9c4500abec38f5dee5fa0a4336bc..a0d5db400d9353f16cf4023697bbf0c1584fda28 100644
|
| --- a/chrome/browser/sessions/tab_restore_service_factory.cc
|
| +++ b/chrome/browser/sessions/tab_restore_service_factory.cc
|
| @@ -5,9 +5,15 @@
|
| #include "chrome/browser/sessions/tab_restore_service_factory.h"
|
|
|
| #include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/sessions/tab_restore_service.h"
|
| +#include "chrome/browser/sessions/chrome_tab_restore_service_client.h"
|
| #include "components/keyed_service/content/browser_context_dependency_manager.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "chrome/browser/sessions/in_memory_tab_restore_service.h"
|
| +#else
|
| +#include "chrome/browser/sessions/persistent_tab_restore_service.h"
|
| +#endif
|
| +
|
| // static
|
| TabRestoreService* TabRestoreServiceFactory::GetForProfile(Profile* profile) {
|
| return static_cast<TabRestoreService*>(
|
| @@ -44,3 +50,16 @@ TabRestoreServiceFactory::~TabRestoreServiceFactory() {
|
| bool TabRestoreServiceFactory::ServiceIsNULLWhileTesting() const {
|
| return true;
|
| }
|
| +
|
| +KeyedService* TabRestoreServiceFactory::BuildServiceInstanceFor(
|
| + content::BrowserContext* browser_context) const {
|
| + Profile* profile = Profile::FromBrowserContext(browser_context);
|
| + scoped_ptr<sessions::TabRestoreServiceClient> client(
|
| + new ChromeTabRestoreServiceClient(profile));
|
| +
|
| +#if defined(OS_ANDROID)
|
| + return new InMemoryTabRestoreService(profile, nullptr);
|
| +#else
|
| + return new PersistentTabRestoreService(profile, client.Pass(), nullptr);
|
| +#endif
|
| +}
|
|
|