• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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*
GetForProfile(content::BrowserContext * context)18 NetworkingPrivateEventRouterFactory::GetForProfile(
19     content::BrowserContext* context) {
20   return static_cast<NetworkingPrivateEventRouter*>(
21       GetInstance()->GetServiceForBrowserContext(context, true));
22 }
23 
24 // static
25 NetworkingPrivateEventRouterFactory*
GetInstance()26 NetworkingPrivateEventRouterFactory::GetInstance() {
27   return Singleton<NetworkingPrivateEventRouterFactory>::get();
28 }
29 
NetworkingPrivateEventRouterFactory()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 
~NetworkingPrivateEventRouterFactory()40 NetworkingPrivateEventRouterFactory::~NetworkingPrivateEventRouterFactory() {
41 }
42 
BuildServiceInstanceFor(content::BrowserContext * context) const43 KeyedService* NetworkingPrivateEventRouterFactory::BuildServiceInstanceFor(
44     content::BrowserContext* context) const {
45   return NetworkingPrivateEventRouter::Create(
46       Profile::FromBrowserContext(context));
47 }
48 
49 content::BrowserContext*
GetBrowserContextToUse(content::BrowserContext * context) const50 NetworkingPrivateEventRouterFactory::GetBrowserContextToUse(
51     content::BrowserContext* context) const {
52   return ExtensionsBrowserClient::Get()->GetOriginalContext(context);
53 }
54 
55 bool NetworkingPrivateEventRouterFactory::
ServiceIsCreatedWithBrowserContext() const56 ServiceIsCreatedWithBrowserContext() const {
57   return true;
58 }
59 
ServiceIsNULLWhileTesting() const60 bool NetworkingPrivateEventRouterFactory::ServiceIsNULLWhileTesting() const {
61   return true;
62 }
63 
64 }  // namespace extensions
65