| Index: chrome/browser/browser_process_impl.cc
|
| diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
|
| index 01e703886440e785bae1bc02333826a27624215e..fd95bfe80358123ec5e41c6e477cef06167f165c 100644
|
| --- a/chrome/browser/browser_process_impl.cc
|
| +++ b/chrome/browser/browser_process_impl.cc
|
| @@ -108,6 +108,9 @@ BrowserProcessImpl::BrowserProcessImpl(const CommandLine& command_line)
|
| created_cache_thread_(false),
|
| created_gpu_thread_(false),
|
| created_watchdog_thread_(false),
|
| +#if defined(OS_CHROMEOS)
|
| + created_webproxy_thread_(false),
|
| +#endif
|
| created_profile_manager_(false),
|
| created_local_state_(false),
|
| created_icon_manager_(false),
|
| @@ -207,6 +210,10 @@ BrowserProcessImpl::~BrowserProcessImpl() {
|
| // down while the IO and FILE threads are still alive.
|
| browser_policy_connector_.reset();
|
|
|
| +#if defined(OS_CHROMEOS)
|
| + webproxy_thread_.reset();
|
| +#endif
|
| +
|
| #if defined(USE_X11)
|
| // The IO thread must outlive the BACKGROUND_X11 thread.
|
| background_x11_thread_.reset();
|
| @@ -429,6 +436,16 @@ WatchDogThread* BrowserProcessImpl::watchdog_thread() {
|
| return watchdog_thread_.get();
|
| }
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +base::Thread* BrowserProcessImpl::webproxy_thread() {
|
| + DCHECK(CalledOnValidThread());
|
| + if (!created_webproxy_thread_)
|
| + CreateWebproxyThread();
|
| + DCHECK(webproxy_thread_.get() != NULL);
|
| + return webproxy_thread_.get();
|
| +}
|
| +#endif
|
| +
|
| ProfileManager* BrowserProcessImpl::profile_manager() {
|
| DCHECK(CalledOnValidThread());
|
| if (!created_profile_manager_)
|
| @@ -747,6 +764,21 @@ void BrowserProcessImpl::CreateFileThread() {
|
| file_thread_.swap(thread);
|
| }
|
|
|
| +#if defined(OS_CHROMEOS)
|
| +void BrowserProcessImpl::CreateWebproxyThread() {
|
| + DCHECK(!created_webproxy_thread_ && webproxy_thread_.get() == NULL);
|
| + created_webproxy_thread_ = true;
|
| +
|
| + scoped_ptr<base::Thread> thread(
|
| + new BrowserProcessSubThread(BrowserThread::WEBPROXY));
|
| + base::Thread::Options options;
|
| + options.message_loop_type = MessageLoop::TYPE_IO;
|
| + if (!thread->StartWithOptions(options))
|
| + return;
|
| + webproxy_thread_.swap(thread);
|
| +}
|
| +#endif
|
| +
|
| void BrowserProcessImpl::CreateDBThread() {
|
| DCHECK(!created_db_thread_ && db_thread_.get() == NULL);
|
| created_db_thread_ = true;
|
|
|