1 // Copyright 2013 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/extensions/api/networking_private/networking_private_event_router_factory.h" 6 7 #include "chrome/browser/extensions/api/networking_private/networking_private_event_router.h" 8 #include "chrome/browser/extensions/api/networking_private/networking_private_service_client_factory.h" 9 #include "chrome/browser/profiles/profile.h" 10 #include "components/keyed_service/content/browser_context_dependency_manager.h" 11 #include "extensions/browser/extension_system_provider.h" 12 #include "extensions/browser/extensions_browser_client.h" 13 14 namespace extensions { 15 16 // static 17 NetworkingPrivateEventRouter* 18 NetworkingPrivateEventRouterFactory::GetForProfile( 19 content::BrowserContext* context) { 20 return static_cast<NetworkingPrivateEventRouter*>( 21 GetInstance()->GetServiceForBrowserContext(context, true)); 22 } 23 24 // static 25 NetworkingPrivateEventRouterFactory* 26 NetworkingPrivateEventRouterFactory::GetInstance() { 27 return Singleton<NetworkingPrivateEventRouterFactory>::get(); 28 } 29 30 NetworkingPrivateEventRouterFactory::NetworkingPrivateEventRouterFactory() 31 : BrowserContextKeyedServiceFactory( 32 "NetworkingPrivateEventRouter", 33 BrowserContextDependencyManager::GetInstance()) { 34 DependsOn(ExtensionsBrowserClient::Get()->GetExtensionSystemFactory()); 35 #if !defined(OS_CHROMEOS) 36 DependsOn(NetworkingPrivateServiceClientFactory::GetInstance()); 37 #endif 38 } 39 40 NetworkingPrivateEventRouterFactory::~NetworkingPrivateEventRouterFactory() { 41 } 42 43 KeyedService* NetworkingPrivateEventRouterFactory::BuildServiceInstanceFor( 44 content::BrowserContext* context) const { 45 return NetworkingPrivateEventRouter::Create( 46 Profile::FromBrowserContext(context)); 47 } 48 49 content::BrowserContext* 50 NetworkingPrivateEventRouterFactory::GetBrowserContextToUse( 51 content::BrowserContext* context) const { 52 return ExtensionsBrowserClient::Get()->GetOriginalContext(context); 53 } 54 55 bool NetworkingPrivateEventRouterFactory:: 56 ServiceIsCreatedWithBrowserContext() const { 57 return true; 58 } 59 60 bool NetworkingPrivateEventRouterFactory::ServiceIsNULLWhileTesting() const { 61 return true; 62 } 63 64 } // namespace extensions 65