summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_process_impl.h
diff options
context:
space:
mode:
authorjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-23 20:35:29 +0000
committerjam@chromium.org <jam@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-11-23 20:35:29 +0000
commitcca567c6c2de778462d8659f5dec7f9a70667e95 (patch)
tree01d9ab219497b7ce4c73b08c56bfe39e814f1926 /chrome/browser/browser_process_impl.h
parentc47836e30d254547e7cc3233b33e9499c77c2f38 (diff)
downloadchromium_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.h16
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_;