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.h | |
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.h')
-rw-r--r-- | extensions/browser/process_map_factory.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/extensions/browser/process_map_factory.h b/extensions/browser/process_map_factory.h new file mode 100644 index 0000000..0a62dc7 --- /dev/null +++ b/extensions/browser/process_map_factory.h @@ -0,0 +1,42 @@ +// 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. + +#ifndef EXTENSIONS_BROWSER_PROCESS_MAP_FACTORY_H_ +#define EXTENSIONS_BROWSER_PROCESS_MAP_FACTORY_H_ + +#include "base/compiler_specific.h" +#include "base/memory/singleton.h" +#include "components/browser_context_keyed_service/browser_context_keyed_service_factory.h" + +namespace extensions { + +class ProcessMap; + +// Factory for ProcessMap objects. ProcessMap objects are shared between an +// incognito browser context and its master browser context. +class ProcessMapFactory : public BrowserContextKeyedServiceFactory { + public: + static ProcessMap* GetForBrowserContext(content::BrowserContext* context); + + static ProcessMapFactory* GetInstance(); + + private: + friend struct DefaultSingletonTraits<ProcessMapFactory>; + + ProcessMapFactory(); + virtual ~ProcessMapFactory(); + + // BrowserContextKeyedServiceFactory implementation: + virtual BrowserContextKeyedService* BuildServiceInstanceFor( + content::BrowserContext* context) const OVERRIDE; + virtual content::BrowserContext* GetBrowserContextToUse( + content::BrowserContext* context) const OVERRIDE; + + private: + DISALLOW_COPY_AND_ASSIGN(ProcessMapFactory); +}; + +} // namespace extensions + +#endif // EXTENSIONS_BROWSER_PROCESS_MAP_FACTORY_H_ |