OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // This interface is for managing the global services of the application. Each | 5 // This interface is for managing the global services of the application. Each |
6 // service is lazily created when requested the first time. The service getters | 6 // service is lazily created when requested the first time. The service getters |
7 // will return NULL if the service is not available, so callers must check for | 7 // will return NULL if the service is not available, so callers must check for |
8 // this condition. | 8 // this condition. |
9 | 9 |
10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_H_ | 10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_H_ |
11 #define CHROME_BROWSER_BROWSER_PROCESS_H_ | 11 #define CHROME_BROWSER_BROWSER_PROCESS_H_ |
12 #pragma once | 12 #pragma once |
13 | 13 |
14 #include <string> | 14 #include <string> |
15 #include <vector> | 15 #include <vector> |
16 | 16 |
17 #include "base/basictypes.h" | 17 #include "base/basictypes.h" |
18 #include "ipc/ipc_message.h" | 18 #include "ipc/ipc_message.h" |
19 | 19 |
20 class AutomationProviderList; | 20 class AutomationProviderList; |
21 | 21 |
22 namespace safe_browsing { | 22 namespace safe_browsing { |
23 class ClientSideDetectionService; | 23 class ClientSideDetectionService; |
24 } | 24 } |
25 | 25 |
26 class ChromeNetLog; | 26 class ChromeNetLog; |
27 class DevToolsManager; | 27 class DevToolsManager; |
28 class DownloadRequestLimiter; | 28 class DownloadRequestLimiter; |
29 class DownloadStatusUpdater; | 29 class DownloadStatusUpdater; |
| 30 class ExtensionEventRouterForwarder; |
30 class GoogleURLTracker; | 31 class GoogleURLTracker; |
31 class IconManager; | 32 class IconManager; |
32 class IntranetRedirectDetector; | 33 class IntranetRedirectDetector; |
33 class IOThread; | 34 class IOThread; |
34 class MetricsService; | 35 class MetricsService; |
35 class NotificationUIManager; | 36 class NotificationUIManager; |
36 class PrefService; | 37 class PrefService; |
37 class ProfileManager; | 38 class ProfileManager; |
38 class ResourceDispatcherHost; | 39 class ResourceDispatcherHost; |
39 class SidebarManager; | 40 class SidebarManager; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 | 74 |
74 // Services: any of these getters may return NULL | 75 // Services: any of these getters may return NULL |
75 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; | 76 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; |
76 | 77 |
77 virtual MetricsService* metrics_service() = 0; | 78 virtual MetricsService* metrics_service() = 0; |
78 virtual ProfileManager* profile_manager() = 0; | 79 virtual ProfileManager* profile_manager() = 0; |
79 virtual PrefService* local_state() = 0; | 80 virtual PrefService* local_state() = 0; |
80 virtual DevToolsManager* devtools_manager() = 0; | 81 virtual DevToolsManager* devtools_manager() = 0; |
81 virtual SidebarManager* sidebar_manager() = 0; | 82 virtual SidebarManager* sidebar_manager() = 0; |
82 virtual ui::Clipboard* clipboard() = 0; | 83 virtual ui::Clipboard* clipboard() = 0; |
| 84 virtual ExtensionEventRouterForwarder* |
| 85 extension_event_router_forwarder() = 0; |
83 | 86 |
84 // Returns the manager for desktop notifications. | 87 // Returns the manager for desktop notifications. |
85 virtual NotificationUIManager* notification_ui_manager() = 0; | 88 virtual NotificationUIManager* notification_ui_manager() = 0; |
86 | 89 |
87 // Returns the thread that we perform I/O coordination on (network requests, | 90 // Returns the thread that we perform I/O coordination on (network requests, |
88 // communication with renderers, etc. | 91 // communication with renderers, etc. |
89 // NOTE: You should ONLY use this to pass to IPC or other objects which must | 92 // NOTE: You should ONLY use this to pass to IPC or other objects which must |
90 // need a MessageLoop*. If you just want to post a task, use | 93 // need a MessageLoop*. If you just want to post a task, use |
91 // BrowserThread::PostTask (or other variants) as they take care of checking | 94 // BrowserThread::PostTask (or other variants) as they take care of checking |
92 // that a thread is still alive, race conditions, lifetime differences etc. | 95 // that a thread is still alive, race conditions, lifetime differences etc. |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 | 215 |
213 // Used for testing plugin data removal at shutdown. | 216 // Used for testing plugin data removal at shutdown. |
214 std::string plugin_data_remover_mime_type_; | 217 std::string plugin_data_remover_mime_type_; |
215 | 218 |
216 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); | 219 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); |
217 }; | 220 }; |
218 | 221 |
219 extern BrowserProcess* g_browser_process; | 222 extern BrowserProcess* g_browser_process; |
220 | 223 |
221 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ | 224 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ |
OLD | NEW |