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

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

Issue 9369013: Take extensions out of Profile into a profile-keyed service, ExtensionSystem. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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
(Empty)
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
3 // found in the LICENSE file.
4
5 #include "chrome/browser/extensions/extension_system_factory.h"
6
7 #include "chrome/browser/extensions/extension_message_service.h"
8 #include "chrome/browser/extensions/extension_prefs.h"
9 #include "chrome/browser/extensions/extension_service.h"
10 #include "chrome/browser/extensions/extension_system.h"
11 #include "chrome/browser/profiles/profile.h"
12 #include "chrome/browser/profiles/profile_dependency_manager.h"
13
14 // ExtensionSystemDelegateFactory
15
16 // static
17 ExtensionSystemImpl::Delegate* ExtensionSystemDelegateFactory::GetForProfile(
18 Profile* profile) {
19 return static_cast<ExtensionSystemImpl::Delegate*>(
20 GetInstance()->GetServiceForProfile(profile, true));
21 }
22
23 // static
24 ExtensionSystemDelegateFactory* ExtensionSystemDelegateFactory::GetInstance() {
25 return Singleton<ExtensionSystemDelegateFactory>::get();
26 }
27
28 ProfileKeyedService* ExtensionSystemDelegateFactory::BuildServiceInstanceFor(
29 Profile* profile) const {
30 return new ExtensionSystemImpl::Delegate(profile->GetOriginalProfile());
Elliot Glaysher 2012/02/09 20:10:24 Since this is redirected in incognito, I'm pretty
Yoyo Zhou 2012/02/16 21:49:20 Done.
31 }
32
33 bool ExtensionSystemDelegateFactory::ServiceRedirectedInIncognito() {
34 return true;
35 }
36
37 void ExtensionSystemDelegateFactory::ProfileShutdown(Profile* profile) {
38 if (GetForProfile(profile)->message_service())
39 GetForProfile(profile)->message_service()->DestroyingProfile();
Elliot Glaysher 2012/02/09 20:10:24 You probably want this in you ExtensionService::Sh
Yoyo Zhou 2012/02/16 21:49:20 Ah... I didn't read profile_keyed_service.h. This
40 ProfileKeyedServiceFactory::ProfileShutdown(profile);
41 }
42
43 ExtensionSystemDelegateFactory::ExtensionSystemDelegateFactory()
44 : ProfileKeyedServiceFactory(
45 "ExtensionSystemDelegate",
46 ProfileDependencyManager::GetInstance()) {
Elliot Glaysher 2012/02/09 20:10:24 I assume that either ExtensionSystemDelegateFactor
Yoyo Zhou 2012/02/16 21:49:20 I only found reference to 3 factories, all from Ex
47 }
48
49 ExtensionSystemDelegateFactory::~ExtensionSystemDelegateFactory() {
50 }
51
52 // ExtensionSystemFactory
53
54 // static
55 ExtensionSystem* ExtensionSystemFactory::GetForProfile(
56 Profile* profile) {
57 return static_cast<ExtensionSystem*>(
58 GetInstance()->GetServiceForProfile(profile, true));
59 }
60
61 // static
62 ExtensionSystemFactory* ExtensionSystemFactory::GetInstance() {
63 return Singleton<ExtensionSystemFactory>::get();
64 }
65
66 ProfileKeyedService* ExtensionSystemFactory::BuildServiceInstanceFor(
67 Profile* profile) const {
68 return new ExtensionSystemImpl(profile);
69 }
70
71 bool ExtensionSystemFactory::ServiceHasOwnInstanceInIncognito() {
72 return true;
73 }
74
75 void ExtensionSystemFactory::ProfileShutdown(Profile* profile) {
76 GetForProfile(profile)->DestroyProcessManager();
Elliot Glaysher 2012/02/09 20:10:24 Same as above.
Yoyo Zhou 2012/02/16 21:49:20 Done.
77 ProfileKeyedServiceFactory::ProfileShutdown(profile);
78 }
79
80 ExtensionSystemFactory::ExtensionSystemFactory()
81 : ProfileKeyedServiceFactory(
82 "ExtensionSystem",
83 ProfileDependencyManager::GetInstance()) {
84 DependsOn(ExtensionSystemDelegateFactory::GetInstance());
85 }
86
87 ExtensionSystemFactory::~ExtensionSystemFactory() {
88 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698