| Index: content/shell/shell_browser_main.cc
|
| ===================================================================
|
| --- content/shell/shell_browser_main.cc (revision 111697)
|
| +++ content/shell/shell_browser_main.cc (working copy)
|
| @@ -40,9 +40,41 @@
|
| }
|
|
|
| ShellBrowserMainParts::~ShellBrowserMainParts() {
|
| + base::ThreadRestrictions::SetIOAllowed(true);
|
| + io_thread()->message_loop()->PostTask(
|
| + FROM_HERE, base::IgnoreReturn<bool>(
|
| + base::Bind(&base::ThreadRestrictions::SetIOAllowed, true)));
|
| +
|
| + browser_context_.reset();
|
| +
|
| + resource_dispatcher_host_->download_file_manager()->Shutdown();
|
| + resource_dispatcher_host_->save_file_manager()->Shutdown();
|
| + resource_dispatcher_host_->Shutdown();
|
| + io_thread_.reset();
|
| + cache_thread_.reset();
|
| + process_launcher_thread_.reset();
|
| + file_thread_.reset();
|
| + resource_dispatcher_host_.reset(); // Kills WebKit thread.
|
| + db_thread_.reset();
|
| }
|
|
|
| -void ShellBrowserMainParts::PreCreateThreads() {
|
| +void ShellBrowserMainParts::PreMainMessageLoopRun() {
|
| + db_thread_.reset(new BrowserProcessSubThread(BrowserThread::DB));
|
| + db_thread_->Start();
|
| + file_thread_.reset(new BrowserProcessSubThread(BrowserThread::FILE));
|
| + file_thread_->Start();
|
| + process_launcher_thread_.reset(
|
| + new BrowserProcessSubThread(BrowserThread::PROCESS_LAUNCHER));
|
| + process_launcher_thread_->Start();
|
| +
|
| + base::Thread::Options options;
|
| + options.message_loop_type = MessageLoop::TYPE_IO;
|
| +
|
| + cache_thread_.reset(new BrowserProcessSubThread(BrowserThread::CACHE));
|
| + cache_thread_->StartWithOptions(options);
|
| + io_thread_.reset(new BrowserProcessSubThread(BrowserThread::IO));
|
| + io_thread_->StartWithOptions(options);
|
| +
|
| browser_context_.reset(new ShellBrowserContext(this));
|
|
|
| Shell::PlatformInitialize();
|
| @@ -53,24 +85,9 @@
|
| NULL,
|
| MSG_ROUTING_NONE,
|
| NULL);
|
| -}
|
|
|
| -void ShellBrowserMainParts::PostMainMessageLoopRun() {
|
| - browser_context_.reset();
|
| -
|
| - resource_dispatcher_host_->download_file_manager()->Shutdown();
|
| - resource_dispatcher_host_->save_file_manager()->Shutdown();
|
| - resource_dispatcher_host_->Shutdown();
|
| }
|
|
|
| -void ShellBrowserMainParts::PreStopThread(BrowserThread::ID id) {
|
| - if (id == BrowserThread::WEBKIT) {
|
| - // It remains the embedder's responsibility to kill the WebKit
|
| - // thread. This happens when RDH is destroyed.
|
| - resource_dispatcher_host_.reset();
|
| - }
|
| -}
|
| -
|
| bool ShellBrowserMainParts::MainMessageLoopRun(int* result_code) {
|
| return false;
|
| }
|
|
|