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/extension_sync_service_factory.h" 6 7#include "base/prefs/pref_service.h" 8#include "chrome/browser/extensions/extension_sync_service.h" 9#include "chrome/browser/extensions/extension_system_factory.h" 10#include "chrome/browser/profiles/profile.h" 11#include "components/keyed_service/content/browser_context_dependency_manager.h" 12#include "extensions/browser/extension_prefs_factory.h" 13#include "extensions/browser/extension_system.h" 14#include "extensions/browser/extensions_browser_client.h" 15 16// static 17ExtensionSyncService* ExtensionSyncServiceFactory::GetForProfile( 18 Profile* profile) { 19 return static_cast<ExtensionSyncService*>( 20 GetInstance()->GetServiceForBrowserContext(profile, true)); 21} 22 23// static 24ExtensionSyncServiceFactory* ExtensionSyncServiceFactory::GetInstance() { 25 return Singleton<ExtensionSyncServiceFactory>::get(); 26} 27 28ExtensionSyncServiceFactory::ExtensionSyncServiceFactory() 29 : BrowserContextKeyedServiceFactory( 30 "ExtensionSyncService", 31 BrowserContextDependencyManager::GetInstance()) { 32 DependsOn(extensions::ExtensionPrefsFactory::GetInstance()); 33 DependsOn(extensions::ExtensionSystemFactory::GetInstance()); 34} 35 36ExtensionSyncServiceFactory::~ExtensionSyncServiceFactory() {} 37 38KeyedService* ExtensionSyncServiceFactory::BuildServiceInstanceFor( 39 content::BrowserContext* context) const { 40 Profile* profile = Profile::FromBrowserContext(context); 41 return new ExtensionSyncService( 42 profile, 43 extensions::ExtensionPrefsFactory::GetForBrowserContext(context), 44 extensions::ExtensionSystem::Get(profile)->extension_service()); 45} 46 47content::BrowserContext* ExtensionSyncServiceFactory::GetBrowserContextToUse( 48 content::BrowserContext* context) const { 49 return extensions::ExtensionsBrowserClient::Get()-> 50 GetOriginalContext(context); 51} 52