diff options
author | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-17 18:09:08 +0000 |
---|---|---|
committer | jamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-17 18:09:08 +0000 |
commit | fafdc84997a58392bb59046730c9be6948242c2f (patch) | |
tree | 2463200804eebabc7037b3defaff70429c571c1b /extensions/browser/process_map_factory.cc | |
parent | eb02d47797f9eefa9524975efda8f9bd3c9f1c8f (diff) | |
download | chromium_src-fafdc84997a58392bb59046730c9be6948242c2f.zip chromium_src-fafdc84997a58392bb59046730c9be6948242c2f.tar.gz chromium_src-fafdc84997a58392bb59046730c9be6948242c2f.tar.bz2 |
Convert extensions::ProcessMap to BrowserContextKeyedService
This allows us to remove more ExtensionService dependencies, which we need
to do because app_shell doesn't have an ExtensionService.
BUG=334706
TEST=existing unit_tests, browser_tests
TBR=sky@chromium.org for mechanical changes across the non-extensions bits of chrome/browser/
Review URL: https://codereview.chromium.org/139943005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@245556 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'extensions/browser/process_map_factory.cc')
-rw-r--r-- | extensions/browser/process_map_factory.cc | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/extensions/browser/process_map_factory.cc b/extensions/browser/process_map_factory.cc new file mode 100644 index 0000000..1351f22 --- /dev/null +++ b/extensions/browser/process_map_factory.cc @@ -0,0 +1,46 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "extensions/browser/process_map_factory.h" + +#include "components/browser_context_keyed_service/browser_context_dependency_manager.h" +#include "extensions/browser/extensions_browser_client.h" +#include "extensions/browser/process_map.h" + +using content::BrowserContext; + +namespace extensions { + +// static +ProcessMap* ProcessMapFactory::GetForBrowserContext(BrowserContext* context) { + return static_cast<ProcessMap*>( + GetInstance()->GetServiceForBrowserContext(context, true)); +} + +// static +ProcessMapFactory* ProcessMapFactory::GetInstance() { + return Singleton<ProcessMapFactory>::get(); +} + +ProcessMapFactory::ProcessMapFactory() + : BrowserContextKeyedServiceFactory( + "ProcessMap", + BrowserContextDependencyManager::GetInstance()) { + // No dependencies on other services. +} + +ProcessMapFactory::~ProcessMapFactory() {} + +BrowserContextKeyedService* ProcessMapFactory::BuildServiceInstanceFor( + BrowserContext* context) const { + return new ProcessMap; +} + +BrowserContext* ProcessMapFactory::GetBrowserContextToUse( + BrowserContext* context) const { + // Redirected in incognito. + return ExtensionsBrowserClient::Get()->GetOriginalContext(context); +} + +} // namespace extensions |