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 13PerAppSettingsServiceFactory* PerAppSettingsServiceFactory::GetInstance() { 14 return Singleton<PerAppSettingsServiceFactory>::get(); 15} 16 17// static 18PerAppSettingsService* PerAppSettingsServiceFactory::GetForBrowserContext( 19 content::BrowserContext* browser_context) { 20 return static_cast<PerAppSettingsService*>( 21 GetInstance()->GetServiceForBrowserContext( 22 browser_context, true /* create */)); 23} 24 25PerAppSettingsServiceFactory::PerAppSettingsServiceFactory() 26 : BrowserContextKeyedServiceFactory( 27 "PerAppSettingsServiceFactory", 28 BrowserContextDependencyManager::GetInstance()) { 29} 30 31PerAppSettingsServiceFactory::~PerAppSettingsServiceFactory() {} 32 33KeyedService* PerAppSettingsServiceFactory::BuildServiceInstanceFor( 34 content::BrowserContext* context) const { 35 return new PerAppSettingsService; 36} 37 38bool PerAppSettingsServiceFactory::ServiceIsCreatedWithBrowserContext() const { 39 return false; 40} 41 42content::BrowserContext* PerAppSettingsServiceFactory::GetBrowserContextToUse( 43 content::BrowserContext* context) const { 44 return extensions::ExtensionsBrowserClient::Get()-> 45 GetOriginalContext(context); 46} 47