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 "extensions/browser/api/idle/idle_manager_factory.h" 6 7 #include "components/keyed_service/content/browser_context_dependency_manager.h" 8 #include "extensions/browser/api/idle/idle_manager.h" 9 #include "extensions/browser/extension_system_provider.h" 10 #include "extensions/browser/extensions_browser_client.h" 11 12 namespace extensions { 13 14 // static GetForBrowserContext(content::BrowserContext * context)15IdleManager* IdleManagerFactory::GetForBrowserContext( 16 content::BrowserContext* context) { 17 return static_cast<IdleManager*>( 18 GetInstance()->GetServiceForBrowserContext(context, true)); 19 } 20 21 // static GetInstance()22IdleManagerFactory* IdleManagerFactory::GetInstance() { 23 return base::Singleton<IdleManagerFactory>::get(); 24 } 25 IdleManagerFactory()26IdleManagerFactory::IdleManagerFactory() 27 : BrowserContextKeyedServiceFactory( 28 "IdleManager", 29 BrowserContextDependencyManager::GetInstance()) { 30 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); 31 } 32 ~IdleManagerFactory()33IdleManagerFactory::~IdleManagerFactory() { 34 } 35 BuildServiceInstanceFor(content::BrowserContext * context) const36KeyedService* IdleManagerFactory::BuildServiceInstanceFor( 37 content::BrowserContext* context) const { 38 IdleManager* idle_manager = new IdleManager(context); 39 idle_manager->Init(); 40 return idle_manager; 41 } 42 GetBrowserContextToUse(content::BrowserContext * context) const43content::BrowserContext* IdleManagerFactory::GetBrowserContextToUse( 44 content::BrowserContext* context) const { 45 return ExtensionsBrowserClient::Get()->GetOriginalContext(context); 46 } 47 ServiceIsCreatedWithBrowserContext() const48bool IdleManagerFactory::ServiceIsCreatedWithBrowserContext() const { 49 return true; 50 } 51 ServiceIsNULLWhileTesting() const52bool IdleManagerFactory::ServiceIsNULLWhileTesting() const { 53 return true; 54 } 55 56 } // namespace extensions 57