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 "extensions/browser/process_map_factory.h" 6 7 #include "components/keyed_service/content/browser_context_dependency_manager.h" 8 #include "extensions/browser/extensions_browser_client.h" 9 #include "extensions/browser/process_map.h" 10 11 using content::BrowserContext; 12 13 namespace extensions { 14 15 // static GetForBrowserContext(BrowserContext * context)16ProcessMap* ProcessMapFactory::GetForBrowserContext(BrowserContext* context) { 17 return static_cast<ProcessMap*>( 18 GetInstance()->GetServiceForBrowserContext(context, true)); 19 } 20 21 // static GetInstance()22ProcessMapFactory* ProcessMapFactory::GetInstance() { 23 return Singleton<ProcessMapFactory>::get(); 24 } 25 ProcessMapFactory()26ProcessMapFactory::ProcessMapFactory() 27 : BrowserContextKeyedServiceFactory( 28 "ProcessMap", 29 BrowserContextDependencyManager::GetInstance()) { 30 // No dependencies on other services. 31 } 32 ~ProcessMapFactory()33ProcessMapFactory::~ProcessMapFactory() {} 34 BuildServiceInstanceFor(BrowserContext * context) const35KeyedService* ProcessMapFactory::BuildServiceInstanceFor( 36 BrowserContext* context) const { 37 return new ProcessMap; 38 } 39 GetBrowserContextToUse(BrowserContext * context) const40BrowserContext* ProcessMapFactory::GetBrowserContextToUse( 41 BrowserContext* context) const { 42 // Redirected in incognito. 43 return ExtensionsBrowserClient::Get()->GetOriginalContext(context); 44 } 45 46 } // namespace extensions 47