| OLD | NEW | 
|---|
| 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 #include "content/browser/child_process_launcher.h" | 5 #include "content/browser/child_process_launcher.h" | 
| 6 | 6 | 
| 7 #include <utility>  // For std::pair. | 7 #include <utility>  // For std::pair. | 
| 8 | 8 | 
| 9 #include "base/bind.h" | 9 #include "base/bind.h" | 
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" | 
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 214 | 214 | 
| 215 #if defined(OS_ANDROID) | 215 #if defined(OS_ANDROID) | 
| 216     // Android WebView runs in single process, ensure that we never get here | 216     // Android WebView runs in single process, ensure that we never get here | 
| 217     // when running in single process mode. | 217     // when running in single process mode. | 
| 218     CHECK(!cmd_line->HasSwitch(switches::kSingleProcess)); | 218     CHECK(!cmd_line->HasSwitch(switches::kSingleProcess)); | 
| 219 | 219 | 
| 220     GetContentClient()->browser()-> | 220     GetContentClient()->browser()-> | 
| 221         GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id, | 221         GetAdditionalMappedFilesForChildProcess(*cmd_line, child_process_id, | 
| 222                                                 &files_to_register); | 222                                                 &files_to_register); | 
| 223 | 223 | 
| 224     StartChildProcess(cmd_line->argv(), files_to_register, | 224     StartChildProcess(cmd_line->argv(), child_process_id, files_to_register, | 
| 225         base::Bind(&ChildProcessLauncher::Context::OnChildProcessStarted, | 225         base::Bind(&ChildProcessLauncher::Context::OnChildProcessStarted, | 
| 226                    this_object, client_thread_id, begin_launch_time)); | 226                    this_object, client_thread_id, begin_launch_time)); | 
| 227 | 227 | 
| 228 #elif defined(OS_POSIX) | 228 #elif defined(OS_POSIX) | 
| 229     base::ProcessHandle handle = base::kNullProcessHandle; | 229     base::ProcessHandle handle = base::kNullProcessHandle; | 
| 230     // We need to close the client end of the IPC channel to reliably detect | 230     // We need to close the client end of the IPC channel to reliably detect | 
| 231     // child termination. | 231     // child termination. | 
| 232     base::ScopedFD ipcfd_closer(ipcfd); | 232     base::ScopedFD ipcfd_closer(ipcfd); | 
| 233 | 233 | 
| 234 #if !defined(OS_MACOSX) | 234 #if !defined(OS_MACOSX) | 
| (...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 498           GetHandle(), background)); | 498           GetHandle(), background)); | 
| 499 } | 499 } | 
| 500 | 500 | 
| 501 void ChildProcessLauncher::SetTerminateChildOnShutdown( | 501 void ChildProcessLauncher::SetTerminateChildOnShutdown( | 
| 502   bool terminate_on_shutdown) { | 502   bool terminate_on_shutdown) { | 
| 503   if (context_.get()) | 503   if (context_.get()) | 
| 504     context_->set_terminate_child_on_shutdown(terminate_on_shutdown); | 504     context_->set_terminate_child_on_shutdown(terminate_on_shutdown); | 
| 505 } | 505 } | 
| 506 | 506 | 
| 507 }  // namespace content | 507 }  // namespace content | 
| OLD | NEW | 
|---|