Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(163)

Side by Side Diff: chrome/browser/extensions/extension_system_factory.h

Issue 147923005: Split ExtensionSystem interface from ExtensionSystemImpl implementation, part 1. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: re^3base Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_
7 7
8 #include "base/memory/singleton.h" 8 #include "base/memory/singleton.h"
9 #include "chrome/browser/extensions/extension_system.h" 9 #include "chrome/browser/extensions/extension_system_impl.h"
10 #include "components/browser_context_keyed_service/browser_context_keyed_service _factory.h" 10 #include "components/browser_context_keyed_service/browser_context_keyed_service _factory.h"
11 #include "extensions/browser/extension_system.h"
11 12
12 class BrowserContextKeyedService; 13 class BrowserContextKeyedService;
13 class Profile;
14 14
15 namespace extensions { 15 namespace extensions {
16 class ExtensionSystem; 16 class ExtensionSystem;
17 17
18 // BrowserContextKeyedServiceFactory for ExtensionSystemImpl::Shared. 18 // BrowserContextKeyedServiceFactory for ExtensionSystemImpl::Shared.
19 // Should not be used except by ExtensionSystem(Factory). 19 // Should not be used except by ExtensionSystem(Factory).
20 class ExtensionSystemSharedFactory : public BrowserContextKeyedServiceFactory { 20 class ExtensionSystemSharedFactory : public BrowserContextKeyedServiceFactory {
21 public: 21 public:
22 static ExtensionSystemImpl::Shared* GetForProfile( 22 static ExtensionSystemImpl::Shared* GetForBrowserContext(
23 Profile* profile); 23 content::BrowserContext* context);
24 24
25 static ExtensionSystemSharedFactory* GetInstance(); 25 static ExtensionSystemSharedFactory* GetInstance();
26 26
27 private: 27 private:
28 friend struct DefaultSingletonTraits<ExtensionSystemSharedFactory>; 28 friend struct DefaultSingletonTraits<ExtensionSystemSharedFactory>;
29 29
30 ExtensionSystemSharedFactory(); 30 ExtensionSystemSharedFactory();
31 virtual ~ExtensionSystemSharedFactory(); 31 virtual ~ExtensionSystemSharedFactory();
32 32
33 // BrowserContextKeyedServiceFactory implementation:
33 virtual BrowserContextKeyedService* BuildServiceInstanceFor( 34 virtual BrowserContextKeyedService* BuildServiceInstanceFor(
34 content::BrowserContext* profile) const OVERRIDE; 35 content::BrowserContext* context) const OVERRIDE;
35 virtual content::BrowserContext* GetBrowserContextToUse( 36 virtual content::BrowserContext* GetBrowserContextToUse(
36 content::BrowserContext* context) const OVERRIDE; 37 content::BrowserContext* context) const OVERRIDE;
37 }; 38 };
38 39
39 // BrowserContextKeyedServiceFactory for ExtensionSystem. 40 // BrowserContextKeyedServiceFactory for ExtensionSystem.
40 class ExtensionSystemFactory : public BrowserContextKeyedServiceFactory { 41 class ExtensionSystemFactory : public BrowserContextKeyedServiceFactory {
41 public: 42 public:
42 // BrowserContextKeyedServiceFactory implementation: 43 static ExtensionSystem* GetForBrowserContext(
43 static ExtensionSystem* GetForProfile(Profile* profile); 44 content::BrowserContext* context);
44 45
45 static ExtensionSystemFactory* GetInstance(); 46 static ExtensionSystemFactory* GetInstance();
46 47
47 private: 48 private:
48 friend struct DefaultSingletonTraits<ExtensionSystemFactory>; 49 friend struct DefaultSingletonTraits<ExtensionSystemFactory>;
49 50
50 ExtensionSystemFactory(); 51 ExtensionSystemFactory();
51 virtual ~ExtensionSystemFactory(); 52 virtual ~ExtensionSystemFactory();
52 53
54 // BrowserContextKeyedServiceFactory implementation:
53 virtual BrowserContextKeyedService* BuildServiceInstanceFor( 55 virtual BrowserContextKeyedService* BuildServiceInstanceFor(
54 content::BrowserContext* profile) const OVERRIDE; 56 content::BrowserContext* context) const OVERRIDE;
55 virtual content::BrowserContext* GetBrowserContextToUse( 57 virtual content::BrowserContext* GetBrowserContextToUse(
56 content::BrowserContext* context) const OVERRIDE; 58 content::BrowserContext* context) const OVERRIDE;
57 virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE; 59 virtual bool ServiceIsCreatedWithBrowserContext() const OVERRIDE;
58 }; 60 };
59 61
60 } // namespace extensions 62 } // namespace extensions
61 63
62 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_ 64 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_FACTORY_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_system.cc ('k') | chrome/browser/extensions/extension_system_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698