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_ |
(...skipping 14 matching lines...) Expand all Loading... |
25 | 25 |
26 class DevToolsManager; | 26 class DevToolsManager; |
27 class DownloadRequestLimiter; | 27 class DownloadRequestLimiter; |
28 class DownloadStatusUpdater; | 28 class DownloadStatusUpdater; |
29 class GoogleURLTracker; | 29 class GoogleURLTracker; |
30 class IconManager; | 30 class IconManager; |
31 class IntranetRedirectDetector; | 31 class IntranetRedirectDetector; |
32 class IOThread; | 32 class IOThread; |
33 class MetricsService; | 33 class MetricsService; |
34 class NotificationUIManager; | 34 class NotificationUIManager; |
| 35 class PrefProxyConfigTracker; |
35 class PrefService; | 36 class PrefService; |
36 class ProfileManager; | 37 class ProfileManager; |
37 class ResourceDispatcherHost; | 38 class ResourceDispatcherHost; |
38 class SidebarManager; | 39 class SidebarManager; |
39 class TabCloseableStateWatcher; | 40 class TabCloseableStateWatcher; |
40 class ThumbnailGenerator; | 41 class ThumbnailGenerator; |
| 42 class URLRequestContextGetter; |
41 | 43 |
42 namespace base { | 44 namespace base { |
43 class Thread; | 45 class Thread; |
44 class WaitableEvent; | 46 class WaitableEvent; |
45 } | 47 } |
46 | 48 |
47 namespace printing { | 49 namespace printing { |
48 class PrintJobManager; | 50 class PrintJobManager; |
49 class PrintPreviewTabController; | 51 class PrintPreviewTabController; |
50 } | 52 } |
(...skipping 21 matching lines...) Expand all Loading... |
72 | 74 |
73 // Services: any of these getters may return NULL | 75 // Services: any of these getters may return NULL |
74 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; | 76 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; |
75 | 77 |
76 virtual MetricsService* metrics_service() = 0; | 78 virtual MetricsService* metrics_service() = 0; |
77 virtual ProfileManager* profile_manager() = 0; | 79 virtual ProfileManager* profile_manager() = 0; |
78 virtual PrefService* local_state() = 0; | 80 virtual PrefService* local_state() = 0; |
79 virtual DevToolsManager* devtools_manager() = 0; | 81 virtual DevToolsManager* devtools_manager() = 0; |
80 virtual SidebarManager* sidebar_manager() = 0; | 82 virtual SidebarManager* sidebar_manager() = 0; |
81 virtual ui::Clipboard* clipboard() = 0; | 83 virtual ui::Clipboard* clipboard() = 0; |
| 84 virtual PrefProxyConfigTracker* pref_proxy_config_tracker() = 0; |
| 85 virtual URLRequestContextGetter* system_request_context() = 0; |
82 | 86 |
83 // Returns the manager for desktop notifications. | 87 // Returns the manager for desktop notifications. |
84 virtual NotificationUIManager* notification_ui_manager() = 0; | 88 virtual NotificationUIManager* notification_ui_manager() = 0; |
85 | 89 |
86 // 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, |
87 // communication with renderers, etc. | 91 // communication with renderers, etc. |
88 // 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 |
89 // 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 |
90 // BrowserThread::PostTask (or other variants) as they take care of checking | 94 // BrowserThread::PostTask (or other variants) as they take care of checking |
91 // that a thread is still alive, race conditions, lifetime differences etc. | 95 // that a thread is still alive, race conditions, lifetime differences etc. |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
193 #endif | 197 #endif |
194 | 198 |
195 const std::string& plugin_data_remover_mime_type() const { | 199 const std::string& plugin_data_remover_mime_type() const { |
196 return plugin_data_remover_mime_type_; | 200 return plugin_data_remover_mime_type_; |
197 } | 201 } |
198 | 202 |
199 void set_plugin_data_remover_mime_type(const std::string& mime_type) { | 203 void set_plugin_data_remover_mime_type(const std::string& mime_type) { |
200 plugin_data_remover_mime_type_ = mime_type; | 204 plugin_data_remover_mime_type_ = mime_type; |
201 } | 205 } |
202 | 206 |
| 207 virtual void InitSystemRequestContext() = 0; |
| 208 |
203 private: | 209 private: |
204 // User-data-dir based profiles. | 210 // User-data-dir based profiles. |
205 std::vector<std::wstring> user_data_dir_profiles_; | 211 std::vector<std::wstring> user_data_dir_profiles_; |
206 | 212 |
207 // Used for testing plugin data removal at shutdown. | 213 // Used for testing plugin data removal at shutdown. |
208 std::string plugin_data_remover_mime_type_; | 214 std::string plugin_data_remover_mime_type_; |
209 | 215 |
210 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); | 216 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); |
211 }; | 217 }; |
212 | 218 |
213 extern BrowserProcess* g_browser_process; | 219 extern BrowserProcess* g_browser_process; |
214 | 220 |
215 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ | 221 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ |
OLD | NEW |