Home | History | Annotate | Download | only in networking_private
      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