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

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

Issue 10787002: Moved ExtensionMessage* into extensions namespace (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Latest master for cq Created 8 years, 5 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
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_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_
7 7
8 #include <string> 8 #include <string>
9 9
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
11 #include "base/memory/scoped_ptr.h" 11 #include "base/memory/scoped_ptr.h"
12 #include "chrome/browser/extensions/api/api_resource_manager.h" 12 #include "chrome/browser/extensions/api/api_resource_manager.h"
13 #include "chrome/browser/extensions/api/serial/serial_connection.h" 13 #include "chrome/browser/extensions/api/serial/serial_connection.h"
14 #include "chrome/browser/extensions/api/socket/socket.h" 14 #include "chrome/browser/extensions/api/socket/socket.h"
15 #include "chrome/browser/extensions/api/usb/usb_device_resource.h" 15 #include "chrome/browser/extensions/api/usb/usb_device_resource.h"
16 #include "chrome/browser/profiles/profile_keyed_service.h" 16 #include "chrome/browser/profiles/profile_keyed_service.h"
17 #include "chrome/common/extensions/extension_constants.h" 17 #include "chrome/common/extensions/extension_constants.h"
18 18
19 class ExtensionDevToolsManager; 19 class ExtensionDevToolsManager;
20 class ExtensionInfoMap; 20 class ExtensionInfoMap;
21 class ExtensionMessageService;
22 class ExtensionNavigationObserver; 21 class ExtensionNavigationObserver;
23 class ExtensionProcessManager; 22 class ExtensionProcessManager;
24 class ExtensionService; 23 class ExtensionService;
25 class Profile; 24 class Profile;
26 25
27 namespace extensions { 26 namespace extensions {
28 // Unfortunately, for the ApiResourceManager<> template classes, we don't seem 27 // Unfortunately, for the ApiResourceManager<> template classes, we don't seem
29 // to be able to forward-declare because of compilation errors on Windows. 28 // to be able to forward-declare because of compilation errors on Windows.
30 class AlarmManager; 29 class AlarmManager;
31 class EventRouter; 30 class EventRouter;
32 class Extension; 31 class Extension;
33 class ExtensionPrefs; 32 class ExtensionPrefs;
34 class ExtensionSystemSharedFactory; 33 class ExtensionSystemSharedFactory;
35 class LazyBackgroundTaskQueue; 34 class LazyBackgroundTaskQueue;
36 class ManagementPolicy; 35 class ManagementPolicy;
36 class MessageService;
37 class RulesRegistryService; 37 class RulesRegistryService;
38 class StateStore; 38 class StateStore;
39 class UserScriptMaster; 39 class UserScriptMaster;
40 40
41 // The ExtensionSystem manages the creation and destruction of services 41 // The ExtensionSystem manages the creation and destruction of services
42 // related to extensions. Most objects are shared between normal 42 // related to extensions. Most objects are shared between normal
43 // and incognito Profiles, except as called out in comments. 43 // and incognito Profiles, except as called out in comments.
44 // This interface supports using TestExtensionSystem for TestingProfiles 44 // This interface supports using TestExtensionSystem for TestingProfiles
45 // that don't want all of the extensions baggage in their tests. 45 // that don't want all of the extensions baggage in their tests.
46 class ExtensionSystem : public ProfileKeyedService { 46 class ExtensionSystem : public ProfileKeyedService {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 82
83 // The StateStore is created at startup. 83 // The StateStore is created at startup.
84 virtual StateStore* state_store() = 0; 84 virtual StateStore* state_store() = 0;
85 85
86 // Returns the IO-thread-accessible extension data. 86 // Returns the IO-thread-accessible extension data.
87 virtual ExtensionInfoMap* info_map() = 0; 87 virtual ExtensionInfoMap* info_map() = 0;
88 88
89 // The LazyBackgroundTaskQueue is created at startup. 89 // The LazyBackgroundTaskQueue is created at startup.
90 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() = 0; 90 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() = 0;
91 91
92 // The ExtensionMessageService is created at startup. 92 // The MessageService is created at startup.
93 virtual ExtensionMessageService* message_service() = 0; 93 virtual MessageService* message_service() = 0;
94 94
95 // The EventRouter is created at startup. 95 // The EventRouter is created at startup.
96 virtual EventRouter* event_router() = 0; 96 virtual EventRouter* event_router() = 0;
97 97
98 // The RulesRegistryService is created at startup. 98 // The RulesRegistryService is created at startup.
99 virtual RulesRegistryService* rules_registry_service() = 0; 99 virtual RulesRegistryService* rules_registry_service() = 0;
100 100
101 // The SerialConnection ResourceManager is created at startup. 101 // The SerialConnection ResourceManager is created at startup.
102 virtual ApiResourceManager<SerialConnection>* 102 virtual ApiResourceManager<SerialConnection>*
103 serial_connection_manager() = 0; 103 serial_connection_manager() = 0;
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 virtual ExtensionService* extension_service() OVERRIDE; // shared 144 virtual ExtensionService* extension_service() OVERRIDE; // shared
145 virtual ManagementPolicy* management_policy() OVERRIDE; // shared 145 virtual ManagementPolicy* management_policy() OVERRIDE; // shared
146 virtual UserScriptMaster* user_script_master() OVERRIDE; // shared 146 virtual UserScriptMaster* user_script_master() OVERRIDE; // shared
147 virtual ExtensionDevToolsManager* devtools_manager() OVERRIDE; 147 virtual ExtensionDevToolsManager* devtools_manager() OVERRIDE;
148 virtual ExtensionProcessManager* process_manager() OVERRIDE; 148 virtual ExtensionProcessManager* process_manager() OVERRIDE;
149 virtual AlarmManager* alarm_manager() OVERRIDE; 149 virtual AlarmManager* alarm_manager() OVERRIDE;
150 virtual StateStore* state_store() OVERRIDE; 150 virtual StateStore* state_store() OVERRIDE;
151 virtual LazyBackgroundTaskQueue* lazy_background_task_queue() 151 virtual LazyBackgroundTaskQueue* lazy_background_task_queue()
152 OVERRIDE; // shared 152 OVERRIDE; // shared
153 virtual ExtensionInfoMap* info_map() OVERRIDE; // shared 153 virtual ExtensionInfoMap* info_map() OVERRIDE; // shared
154 virtual ExtensionMessageService* message_service() OVERRIDE; // shared 154 virtual MessageService* message_service() OVERRIDE; // shared
155 virtual EventRouter* event_router() OVERRIDE; // shared 155 virtual EventRouter* event_router() OVERRIDE; // shared
156 virtual RulesRegistryService* rules_registry_service() 156 virtual RulesRegistryService* rules_registry_service()
157 OVERRIDE; // shared 157 OVERRIDE; // shared
158 virtual ApiResourceManager<SerialConnection>* serial_connection_manager() 158 virtual ApiResourceManager<SerialConnection>* serial_connection_manager()
159 OVERRIDE; 159 OVERRIDE;
160 virtual ApiResourceManager<Socket>* socket_manager() OVERRIDE; 160 virtual ApiResourceManager<Socket>* socket_manager() OVERRIDE;
161 virtual ApiResourceManager<UsbDeviceResource>* usb_device_resource_manager() 161 virtual ApiResourceManager<UsbDeviceResource>* usb_device_resource_manager()
162 OVERRIDE; 162 OVERRIDE;
163 163
164 virtual void RegisterExtensionWithRequestContexts( 164 virtual void RegisterExtensionWithRequestContexts(
(...skipping 19 matching lines...) Expand all
184 void RegisterManagementPolicyProviders(); 184 void RegisterManagementPolicyProviders();
185 void InitInfoMap(); 185 void InitInfoMap();
186 void Init(bool extensions_enabled); 186 void Init(bool extensions_enabled);
187 187
188 StateStore* state_store(); 188 StateStore* state_store();
189 ExtensionService* extension_service(); 189 ExtensionService* extension_service();
190 ManagementPolicy* management_policy(); 190 ManagementPolicy* management_policy();
191 UserScriptMaster* user_script_master(); 191 UserScriptMaster* user_script_master();
192 ExtensionInfoMap* info_map(); 192 ExtensionInfoMap* info_map();
193 LazyBackgroundTaskQueue* lazy_background_task_queue(); 193 LazyBackgroundTaskQueue* lazy_background_task_queue();
194 ExtensionMessageService* message_service(); 194 MessageService* message_service();
195 EventRouter* event_router(); 195 EventRouter* event_router();
196 RulesRegistryService* rules_registry_service(); 196 RulesRegistryService* rules_registry_service();
197 197
198 private: 198 private:
199 Profile* profile_; 199 Profile* profile_;
200 200
201 // The services that are shared between normal and incognito profiles. 201 // The services that are shared between normal and incognito profiles.
202 202
203 scoped_ptr<StateStore> state_store_; 203 scoped_ptr<StateStore> state_store_;
204 scoped_ptr<ExtensionPrefs> extension_prefs_; 204 scoped_ptr<ExtensionPrefs> extension_prefs_;
205 // ExtensionService depends on the 2 above. 205 // ExtensionService depends on the 2 above.
206 scoped_ptr<ExtensionService> extension_service_; 206 scoped_ptr<ExtensionService> extension_service_;
207 scoped_ptr<ManagementPolicy> management_policy_; 207 scoped_ptr<ManagementPolicy> management_policy_;
208 scoped_refptr<UserScriptMaster> user_script_master_; 208 scoped_refptr<UserScriptMaster> user_script_master_;
209 // extension_info_map_ needs to outlive extension_process_manager_. 209 // extension_info_map_ needs to outlive extension_process_manager_.
210 scoped_refptr<ExtensionInfoMap> extension_info_map_; 210 scoped_refptr<ExtensionInfoMap> extension_info_map_;
211 // This is a dependency of ExtensionMessageService and EventRouter. 211 // This is a dependency of MessageService and EventRouter.
212 scoped_ptr<LazyBackgroundTaskQueue> lazy_background_task_queue_; 212 scoped_ptr<LazyBackgroundTaskQueue> lazy_background_task_queue_;
213 scoped_ptr<ExtensionMessageService> extension_message_service_; 213 scoped_ptr<MessageService> message_service_;
214 scoped_ptr<EventRouter> extension_event_router_; 214 scoped_ptr<EventRouter> extension_event_router_;
215 scoped_ptr<ExtensionNavigationObserver> extension_navigation_observer_; 215 scoped_ptr<ExtensionNavigationObserver> extension_navigation_observer_;
216 scoped_ptr<RulesRegistryService> rules_registry_service_; 216 scoped_ptr<RulesRegistryService> rules_registry_service_;
217 }; 217 };
218 218
219 Profile* profile_; 219 Profile* profile_;
220 220
221 Shared* shared_; 221 Shared* shared_;
222 222
223 // The services that have their own instances in incognito. 223 // The services that have their own instances in incognito.
224 scoped_refptr<ExtensionDevToolsManager> extension_devtools_manager_; 224 scoped_refptr<ExtensionDevToolsManager> extension_devtools_manager_;
225 // |extension_process_manager_| must be destroyed before the Profile's 225 // |extension_process_manager_| must be destroyed before the Profile's
226 // |io_data_|. While |extension_process_manager_| still lives, we handle 226 // |io_data_|. While |extension_process_manager_| still lives, we handle
227 // incoming resource requests from extension processes and those require 227 // incoming resource requests from extension processes and those require
228 // access to the ResourceContext owned by |io_data_|. 228 // access to the ResourceContext owned by |io_data_|.
229 scoped_ptr<ExtensionProcessManager> extension_process_manager_; 229 scoped_ptr<ExtensionProcessManager> extension_process_manager_;
230 scoped_ptr<AlarmManager> alarm_manager_; 230 scoped_ptr<AlarmManager> alarm_manager_;
231 scoped_ptr<ApiResourceManager<SerialConnection> > serial_connection_manager_; 231 scoped_ptr<ApiResourceManager<SerialConnection> > serial_connection_manager_;
232 scoped_ptr<ApiResourceManager<Socket> > socket_manager_; 232 scoped_ptr<ApiResourceManager<Socket> > socket_manager_;
233 scoped_ptr<ApiResourceManager< 233 scoped_ptr<ApiResourceManager<
234 UsbDeviceResource> > usb_device_resource_manager_; 234 UsbDeviceResource> > usb_device_resource_manager_;
235 235
236 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl); 236 DISALLOW_COPY_AND_ASSIGN(ExtensionSystemImpl);
237 }; 237 };
238 238
239 } // namespace extensions 239 } // namespace extensions
240 240
241 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_ 241 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SYSTEM_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_message_service.cc ('k') | chrome/browser/extensions/extension_system.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698