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/keyed_service/content/browser_context_dependency_manager.h" 10 11// static 12TabRestoreService* TabRestoreServiceFactory::GetForProfile(Profile* profile) { 13 return static_cast<TabRestoreService*>( 14 GetInstance()->GetServiceForBrowserContext(profile, true)); 15} 16 17// static 18TabRestoreService* TabRestoreServiceFactory::GetForProfileIfExisting( 19 Profile* profile) { 20 return static_cast<TabRestoreService*>( 21 GetInstance()->GetServiceForBrowserContext(profile, false)); 22} 23 24// static 25void TabRestoreServiceFactory::ResetForProfile(Profile* profile) { 26 TabRestoreServiceFactory* factory = GetInstance(); 27 factory->BrowserContextShutdown(profile); 28 factory->BrowserContextDestroyed(profile); 29} 30 31TabRestoreServiceFactory* TabRestoreServiceFactory::GetInstance() { 32 return Singleton<TabRestoreServiceFactory>::get(); 33} 34 35TabRestoreServiceFactory::TabRestoreServiceFactory() 36 : BrowserContextKeyedServiceFactory( 37 "TabRestoreService", 38 BrowserContextDependencyManager::GetInstance()) { 39} 40 41TabRestoreServiceFactory::~TabRestoreServiceFactory() { 42} 43 44bool TabRestoreServiceFactory::ServiceIsNULLWhileTesting() const { 45 return true; 46} 47