Home | History | Annotate | Download | only in autotest_private
      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/extensions/api/autotest_private/autotest_private_api_factory.h"
      6 
      7 #include "chrome/browser/extensions/api/autotest_private/autotest_private_api.h"
      8 #include "chrome/browser/extensions/extension_system_factory.h"
      9 #include "chrome/browser/profiles/incognito_helpers.h"
     10 #include "chrome/browser/profiles/profile.h"
     11 #include "components/browser_context_keyed_service/browser_context_dependency_manager.h"
     12 
     13 namespace extensions {
     14 
     15 // static
     16 AutotestPrivateAPI* AutotestPrivateAPIFactory::GetForProfile(Profile* profile) {
     17   return static_cast<AutotestPrivateAPI*>(GetInstance()->
     18       GetServiceForBrowserContext(profile, true));
     19 }
     20 
     21 // static
     22 AutotestPrivateAPIFactory* AutotestPrivateAPIFactory::GetInstance() {
     23   return Singleton<AutotestPrivateAPIFactory>::get();
     24 }
     25 
     26 AutotestPrivateAPIFactory::AutotestPrivateAPIFactory()
     27     : BrowserContextKeyedServiceFactory(
     28         "AutotestPrivateAPI",
     29         BrowserContextDependencyManager::GetInstance()) {
     30   DependsOn(ExtensionSystemFactory::GetInstance());
     31 }
     32 
     33 AutotestPrivateAPIFactory::~AutotestPrivateAPIFactory() {
     34 }
     35 
     36 BrowserContextKeyedService* AutotestPrivateAPIFactory::BuildServiceInstanceFor(
     37     content::BrowserContext* profile) const {
     38   return new AutotestPrivateAPI();
     39 }
     40 
     41 content::BrowserContext* AutotestPrivateAPIFactory::GetBrowserContextToUse(
     42     content::BrowserContext* context) const {
     43   return chrome::GetBrowserContextRedirectedInIncognito(context);
     44 }
     45 
     46 bool AutotestPrivateAPIFactory::ServiceIsCreatedWithBrowserContext() const {
     47   return true;
     48 }
     49 
     50 bool AutotestPrivateAPIFactory::ServiceIsNULLWhileTesting() const {
     51   return true;
     52 }
     53 
     54 }  // namespace extensions
     55