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

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

Issue 11027070: Moved JsonPrefStore to use SequencedWorkerPool (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 years, 2 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
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 // When each service is created, we set a flag indicating this. At this point, 5 // When each service is created, we set a flag indicating this. At this point,
6 // the service initialization could fail or succeed. This allows us to remember 6 // the service initialization could fail or succeed. This allows us to remember
7 // if we tried to create a service, and not try creating it over and over if 7 // if we tried to create a service, and not try creating it over and over if
8 // the creation failed. 8 // the creation failed.
9 9
10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_IMPL_H_ 10 #ifndef CHROME_BROWSER_BROWSER_PROCESS_IMPL_H_
(...skipping 14 matching lines...) Expand all
25 25
26 class ChromeNetLog; 26 class ChromeNetLog;
27 class ChromeResourceDispatcherHostDelegate; 27 class ChromeResourceDispatcherHostDelegate;
28 class CommandLine; 28 class CommandLine;
29 class RemoteDebuggingServer; 29 class RemoteDebuggingServer;
30 30
31 #if defined(ENABLE_PLUGIN_INSTALLATION) 31 #if defined(ENABLE_PLUGIN_INSTALLATION)
32 class PluginsResourceService; 32 class PluginsResourceService;
33 #endif 33 #endif
34 34
35 namespace base {
36 class SequencedTaskRunner;
37 }
38
35 namespace policy { 39 namespace policy {
36 class BrowserPolicyConnector; 40 class BrowserPolicyConnector;
37 class PolicyService; 41 class PolicyService;
38 }; 42 };
39 43
40 // Real implementation of BrowserProcess that creates and returns the services. 44 // Real implementation of BrowserProcess that creates and returns the services.
41 class BrowserProcessImpl : public BrowserProcess, 45 class BrowserProcessImpl : public BrowserProcess,
42 public base::NonThreadSafe, 46 public base::NonThreadSafe,
43 public content::NotificationObserver { 47 public content::NotificationObserver {
44 public: 48 public:
45 explicit BrowserProcessImpl(const CommandLine& command_line); 49 // |local_state_task_runner| must be a shutdown-blocking task runner.
50 BrowserProcessImpl(
51 base::SequencedTaskRunner* local_state_task_runner,
52 const CommandLine& command_line);
46 virtual ~BrowserProcessImpl(); 53 virtual ~BrowserProcessImpl();
47 54
48 // Called before the browser threads are created. 55 // Called before the browser threads are created.
49 void PreCreateThreads(); 56 void PreCreateThreads();
50 57
51 // Called after the threads have been created but before the message loops 58 // Called after the threads have been created but before the message loops
52 // starts running. Allows the browser process to do any initialization that 59 // starts running. Allows the browser process to do any initialization that
53 // requires all threads running. 60 // requires all threads running.
54 void PreMainMessageLoopRun(); 61 void PreMainMessageLoopRun();
55 62
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 // nothing in the constructor so we don't have to worry about lazy init. 225 // nothing in the constructor so we don't have to worry about lazy init.
219 scoped_ptr<RenderWidgetSnapshotTaker> render_widget_snapshot_taker_; 226 scoped_ptr<RenderWidgetSnapshotTaker> render_widget_snapshot_taker_;
220 227
221 // Download status updates (like a changing application icon on dock/taskbar) 228 // Download status updates (like a changing application icon on dock/taskbar)
222 // are global per-application. DownloadStatusUpdater does no work in the ctor 229 // are global per-application. DownloadStatusUpdater does no work in the ctor
223 // so we don't have to worry about lazy initialization. 230 // so we don't have to worry about lazy initialization.
224 scoped_ptr<DownloadStatusUpdater> download_status_updater_; 231 scoped_ptr<DownloadStatusUpdater> download_status_updater_;
225 232
226 scoped_refptr<DownloadRequestLimiter> download_request_limiter_; 233 scoped_refptr<DownloadRequestLimiter> download_request_limiter_;
227 234
235 // Sequenced task runner for local state related I/O tasks.
236 const scoped_refptr<base::SequencedTaskRunner> local_state_task_runner_;
237
228 // Ensures that the observers of plugin/print disable/enable state 238 // Ensures that the observers of plugin/print disable/enable state
229 // notifications are properly added and removed. 239 // notifications are properly added and removed.
230 PrefChangeRegistrar pref_change_registrar_; 240 PrefChangeRegistrar pref_change_registrar_;
231 241
232 // Lives here so can safely log events on shutdown. 242 // Lives here so can safely log events on shutdown.
233 scoped_ptr<ChromeNetLog> net_log_; 243 scoped_ptr<ChromeNetLog> net_log_;
234 244
235 // Ordered before resource_dispatcher_host_delegate_ due to destruction 245 // Ordered before resource_dispatcher_host_delegate_ due to destruction
236 // ordering. 246 // ordering.
237 scoped_ptr<prerender::PrerenderTracker> prerender_tracker_; 247 scoped_ptr<prerender::PrerenderTracker> prerender_tracker_;
(...skipping 26 matching lines...) Expand all
264 scoped_refptr<PluginsResourceService> plugins_resource_service_; 274 scoped_refptr<PluginsResourceService> plugins_resource_service_;
265 #endif 275 #endif
266 // TODO(eroman): Remove this when done debugging 113031. This tracks 276 // TODO(eroman): Remove this when done debugging 113031. This tracks
267 // the callstack which released the final module reference count. 277 // the callstack which released the final module reference count.
268 base::debug::StackTrace release_last_reference_callstack_; 278 base::debug::StackTrace release_last_reference_callstack_;
269 279
270 DISALLOW_COPY_AND_ASSIGN(BrowserProcessImpl); 280 DISALLOW_COPY_AND_ASSIGN(BrowserProcessImpl);
271 }; 281 };
272 282
273 #endif // CHROME_BROWSER_BROWSER_PROCESS_IMPL_H_ 283 #endif // CHROME_BROWSER_BROWSER_PROCESS_IMPL_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/browser_process_impl.cc » ('j') | chrome/browser/browser_process_impl.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698