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 3 // found in the LICENSE file. 4 5 #include "chrome/browser/sessions/tab_restore_service_factory.h" 6 7 #include "chrome/browser/profiles/profile.h" 8 #include "chrome/browser/sessions/tab_restore_service.h" 9 #include "components/browser_context_keyed_service/browser_context_dependency_manager.h" 10 11 // static GetForProfile(Profile * profile)12TabRestoreService* TabRestoreServiceFactory::GetForProfile(Profile* profile) { 13 return static_cast<TabRestoreService*>( 14 GetInstance()->GetServiceForBrowserContext(profile, true)); 15 } 16 17 // static GetForProfileIfExisting(Profile * profile)18TabRestoreService* TabRestoreServiceFactory::GetForProfileIfExisting( 19 Profile* profile) { 20 return static_cast<TabRestoreService*>( 21 GetInstance()->GetServiceForBrowserContext(profile, false)); 22 } 23 24 // static ResetForProfile(Profile * profile)25void TabRestoreServiceFactory::ResetForProfile(Profile* profile) { 26 TabRestoreServiceFactory* factory = GetInstance(); 27 factory->BrowserContextShutdown(profile); 28 factory->BrowserContextDestroyed(profile); 29 } 30 GetInstance()31TabRestoreServiceFactory* TabRestoreServiceFactory::GetInstance() { 32 return Singleton<TabRestoreServiceFactory>::get(); 33 } 34 TabRestoreServiceFactory()35TabRestoreServiceFactory::TabRestoreServiceFactory() 36 : BrowserContextKeyedServiceFactory( 37 "TabRestoreService", 38 BrowserContextDependencyManager::GetInstance()) { 39 } 40 ~TabRestoreServiceFactory()41TabRestoreServiceFactory::~TabRestoreServiceFactory() { 42 } 43 ServiceIsNULLWhileTesting() const44bool TabRestoreServiceFactory::ServiceIsNULLWhileTesting() const { 45 return true; 46 } 47