1 // Copyright 2014 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/apps/per_app_settings_service_factory.h" 6 7 #include "base/memory/singleton.h" 8 #include "chrome/browser/apps/per_app_settings_service.h" 9 #include "components/keyed_service/content/browser_context_dependency_manager.h" 10 #include "extensions/browser/extensions_browser_client.h" 11 12 // static 13 PerAppSettingsServiceFactory* PerAppSettingsServiceFactory::GetInstance() { 14 return Singleton<PerAppSettingsServiceFactory>::get(); 15 } 16 17 // static 18 PerAppSettingsService* PerAppSettingsServiceFactory::GetForBrowserContext( 19 content::BrowserContext* browser_context) { 20 return static_cast<PerAppSettingsService*>( 21 GetInstance()->GetServiceForBrowserContext( 22 browser_context, true /* create */)); 23 } 24 25 PerAppSettingsServiceFactory::PerAppSettingsServiceFactory() 26 : BrowserContextKeyedServiceFactory( 27 "PerAppSettingsServiceFactory", 28 BrowserContextDependencyManager::GetInstance()) { 29 } 30 31 PerAppSettingsServiceFactory::~PerAppSettingsServiceFactory() {} 32 33 KeyedService* PerAppSettingsServiceFactory::BuildServiceInstanceFor( 34 content::BrowserContext* context) const { 35 return new PerAppSettingsService; 36 } 37 38 bool PerAppSettingsServiceFactory::ServiceIsCreatedWithBrowserContext() const { 39 return false; 40 } 41 42 content::BrowserContext* PerAppSettingsServiceFactory::GetBrowserContextToUse( 43 content::BrowserContext* context) const { 44 return extensions::ExtensionsBrowserClient::Get()-> 45 GetOriginalContext(context); 46 } 47