diff options
author | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-23 20:35:29 +0000 |
---|---|---|
committer | jam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-11-23 20:35:29 +0000 |
commit | cca567c6c2de778462d8659f5dec7f9a70667e95 (patch) | |
tree | 01d9ab219497b7ce4c73b08c56bfe39e814f1926 /chrome/browser/browser_process_impl.h | |
parent | c47836e30d254547e7cc3233b33e9499c77c2f38 (diff) | |
download | chromium_src-cca567c6c2de778462d8659f5dec7f9a70667e95.zip chromium_src-cca567c6c2de778462d8659f5dec7f9a70667e95.tar.gz chromium_src-cca567c6c2de778462d8659f5dec7f9a70667e95.tar.bz2 |
Merge 32832 - Fix bug when accessing g_browser_process>broker_services() at shutdown.
BUG=28501
Review URL: http://codereview.chromium.org/435001
TBR=jam@chromium.org
Review URL: http://codereview.chromium.org/431013
git-svn-id: svn://svn.chromium.org/chrome/branches/249/src@32841 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_process_impl.h')
-rw-r--r-- | chrome/browser/browser_process_impl.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h index ea9efb4..c8bc6d9 100644 --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h @@ -73,6 +73,13 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe { return db_thread_.get(); } + virtual base::Thread* process_launcher_thread() { + DCHECK(CalledOnValidThread()); + if (!created_process_launcher_thread_) + CreateProcessLauncherThread(); + return process_launcher_thread_.get(); + } + #if defined(OS_LINUX) virtual base::Thread* background_x11_thread() { DCHECK(CalledOnValidThread()); @@ -105,6 +112,7 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe { return NULL; return broker_services_; } + void InitBrokerServices(sandbox::BrokerServices* broker_services); #endif // defined(OS_WIN) virtual DebuggerWrapper* debugger_wrapper() { @@ -215,6 +223,7 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe { void CreateFileThread(); void CreateDBThread(); + void CreateProcessLauncherThread(); void CreateTemplateURLModel(); void CreateProfileManager(); void CreateWebDataService(); @@ -226,10 +235,6 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe { void CreateGoogleURLTracker(); void CreateNotificationUIManager(); -#if defined(OS_WIN) - void InitBrokerServices(sandbox::BrokerServices* broker_services); -#endif // defined(OS_WIN) - #if defined(IPC_MESSAGE_LOG_ENABLED) void SetIPCLoggingEnabledForChildProcesses(bool enabled); #endif @@ -253,6 +258,9 @@ class BrowserProcessImpl : public BrowserProcess, public NonThreadSafe { bool created_db_thread_; scoped_ptr<base::Thread> db_thread_; + bool created_process_launcher_thread_; + scoped_ptr<base::Thread> process_launcher_thread_; + bool created_profile_manager_; scoped_ptr<ProfileManager> profile_manager_; |