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

Side by Side Diff: chrome/browser/browser_process.h

Issue 6292017: Extended: Add "system" URLRequestContext (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 9 years, 9 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
« no previous file with comments | « no previous file | chrome/browser/browser_process_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "base/ref_counted.h"
18 #include "ipc/ipc_message.h" 19 #include "ipc/ipc_message.h"
19 20
20 class AutomationProviderList; 21 class AutomationProviderList;
21 22
22 namespace safe_browsing { 23 namespace safe_browsing {
23 class ClientSideDetectionService; 24 class ClientSideDetectionService;
24 } 25 }
25 26
26 class ChromeNetLog; 27 class ChromeNetLog;
27 class DevToolsManager; 28 class DevToolsManager;
28 class DownloadRequestLimiter; 29 class DownloadRequestLimiter;
29 class DownloadStatusUpdater; 30 class DownloadStatusUpdater;
30 class ExtensionEventRouterForwarder; 31 class ExtensionEventRouterForwarder;
31 class GoogleURLTracker; 32 class GoogleURLTracker;
32 class IconManager; 33 class IconManager;
33 class IntranetRedirectDetector; 34 class IntranetRedirectDetector;
34 class IOThread; 35 class IOThread;
35 class MetricsService; 36 class MetricsService;
36 class NotificationUIManager; 37 class NotificationUIManager;
37 class PrefService; 38 class PrefService;
38 class ProfileManager; 39 class ProfileManager;
39 class ResourceDispatcherHost; 40 class ResourceDispatcherHost;
40 class SidebarManager; 41 class SidebarManager;
41 class TabCloseableStateWatcher; 42 class TabCloseableStateWatcher;
42 class ThumbnailGenerator; 43 class ThumbnailGenerator;
44 class URLRequestContextGetter;
43 class WatchDogThread; 45 class WatchDogThread;
44 46
45 namespace base { 47 namespace base {
46 class Thread; 48 class Thread;
47 class WaitableEvent; 49 class WaitableEvent;
48 } 50 }
49 51
52 #if defined(OS_CHROMEOS)
53 namespace chromeos {
54 class ProxyConfigServiceImpl;
55 }
56 #endif // defined(OS_CHROMEOS)
57
50 namespace printing { 58 namespace printing {
51 class PrintJobManager; 59 class PrintJobManager;
52 class PrintPreviewTabController; 60 class PrintPreviewTabController;
53 } 61 }
54 62
55 namespace policy { 63 namespace policy {
56 class BrowserPolicyConnector; 64 class BrowserPolicyConnector;
57 } 65 }
58 66
59 namespace ui { 67 namespace ui {
(...skipping 15 matching lines...) Expand all
75 83
76 // Services: any of these getters may return NULL 84 // Services: any of these getters may return NULL
77 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0; 85 virtual ResourceDispatcherHost* resource_dispatcher_host() = 0;
78 86
79 virtual MetricsService* metrics_service() = 0; 87 virtual MetricsService* metrics_service() = 0;
80 virtual ProfileManager* profile_manager() = 0; 88 virtual ProfileManager* profile_manager() = 0;
81 virtual PrefService* local_state() = 0; 89 virtual PrefService* local_state() = 0;
82 virtual DevToolsManager* devtools_manager() = 0; 90 virtual DevToolsManager* devtools_manager() = 0;
83 virtual SidebarManager* sidebar_manager() = 0; 91 virtual SidebarManager* sidebar_manager() = 0;
84 virtual ui::Clipboard* clipboard() = 0; 92 virtual ui::Clipboard* clipboard() = 0;
93 virtual URLRequestContextGetter* system_request_context() = 0;
94
95 #if defined(OS_CHROMEOS)
96 // Returns ChromeOS's ProxyConfigServiceImpl, creating if not yet created.
97 virtual chromeos::ProxyConfigServiceImpl*
98 chromeos_proxy_config_service_impl() = 0;
99 #endif // defined(OS_CHROMEOS)
100
85 virtual ExtensionEventRouterForwarder* 101 virtual ExtensionEventRouterForwarder*
86 extension_event_router_forwarder() = 0; 102 extension_event_router_forwarder() = 0;
87 103
88 // Returns the manager for desktop notifications. 104 // Returns the manager for desktop notifications.
89 virtual NotificationUIManager* notification_ui_manager() = 0; 105 virtual NotificationUIManager* notification_ui_manager() = 0;
90 106
91 // Returns the thread that we perform I/O coordination on (network requests, 107 // Returns the thread that we perform I/O coordination on (network requests,
92 // communication with renderers, etc. 108 // communication with renderers, etc.
93 // NOTE: You should ONLY use this to pass to IPC or other objects which must 109 // NOTE: You should ONLY use this to pass to IPC or other objects which must
94 // need a MessageLoop*. If you just want to post a task, use 110 // need a MessageLoop*. If you just want to post a task, use
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
219 235
220 // Used for testing plugin data removal at shutdown. 236 // Used for testing plugin data removal at shutdown.
221 std::string plugin_data_remover_mime_type_; 237 std::string plugin_data_remover_mime_type_;
222 238
223 DISALLOW_COPY_AND_ASSIGN(BrowserProcess); 239 DISALLOW_COPY_AND_ASSIGN(BrowserProcess);
224 }; 240 };
225 241
226 extern BrowserProcess* g_browser_process; 242 extern BrowserProcess* g_browser_process;
227 243
228 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_ 244 #endif // CHROME_BROWSER_BROWSER_PROCESS_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browser_process_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698