| 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 #ifndef CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ | 5 #ifndef CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ |
| 6 #define CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ | 6 #define CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ |
| 7 | 7 |
| 8 #include "base/files/scoped_file.h" | 8 #include "base/files/scoped_file.h" |
| 9 #include "base/macros.h" | 9 #include "base/macros.h" |
| 10 #include "base/memory/shared_memory.h" | 10 #include "base/memory/shared_memory.h" |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 123 |
| 124 // This is always called on the client thread after an attempt | 124 // This is always called on the client thread after an attempt |
| 125 // to launch the child process on the launcher thread. | 125 // to launch the child process on the launcher thread. |
| 126 // It makes sure we always perform the necessary cleanup if the | 126 // It makes sure we always perform the necessary cleanup if the |
| 127 // client went away. | 127 // client went away. |
| 128 static void DidLaunch(base::WeakPtr<ChildProcessLauncher> instance, | 128 static void DidLaunch(base::WeakPtr<ChildProcessLauncher> instance, |
| 129 bool terminate_on_shutdown, | 129 bool terminate_on_shutdown, |
| 130 mojo::edk::ScopedPlatformHandle server_handle, | 130 mojo::edk::ScopedPlatformHandle server_handle, |
| 131 ZygoteHandle zygote, | 131 ZygoteHandle zygote, |
| 132 #if defined(OS_ANDROID) | 132 #if defined(OS_ANDROID) |
| 133 base::ScopedFD ipcfd, | |
| 134 base::ScopedFD mojo_fd, | 133 base::ScopedFD mojo_fd, |
| 135 #endif | 134 #endif |
| 136 base::Process process, | 135 base::Process process, |
| 137 int error_code); | 136 int error_code); |
| 138 | 137 |
| 139 // Notifies the client about the result of the operation. | 138 // Notifies the client about the result of the operation. |
| 140 void Notify(ZygoteHandle zygote, | 139 void Notify(ZygoteHandle zygote, |
| 141 mojo::edk::ScopedPlatformHandle server_handle, | 140 mojo::edk::ScopedPlatformHandle server_handle, |
| 142 #if defined(OS_ANDROID) | |
| 143 base::ScopedFD ipcfd, | |
| 144 #endif | |
| 145 base::Process process, | 141 base::Process process, |
| 146 int error_code); | 142 int error_code); |
| 147 | 143 |
| 148 Client* client_; | 144 Client* client_; |
| 149 BrowserThread::ID client_thread_id_; | 145 BrowserThread::ID client_thread_id_; |
| 150 base::Process process_; | 146 base::Process process_; |
| 151 base::TerminationStatus termination_status_; | 147 base::TerminationStatus termination_status_; |
| 152 int exit_code_; | 148 int exit_code_; |
| 153 ZygoteHandle zygote_; | 149 ZygoteHandle zygote_; |
| 154 bool starting_; | 150 bool starting_; |
| 155 const mojo::edk::ProcessErrorCallback process_error_callback_; | 151 const mojo::edk::ProcessErrorCallback process_error_callback_; |
| 156 | 152 |
| 157 // Controls whether the child process should be terminated on browser | 153 // Controls whether the child process should be terminated on browser |
| 158 // shutdown. Default behavior is to terminate the child. | 154 // shutdown. Default behavior is to terminate the child. |
| 159 const bool terminate_child_on_shutdown_; | 155 const bool terminate_child_on_shutdown_; |
| 160 | 156 |
| 161 const std::string mojo_child_token_; | 157 const std::string mojo_child_token_; |
| 162 | 158 |
| 163 base::WeakPtrFactory<ChildProcessLauncher> weak_factory_; | 159 base::WeakPtrFactory<ChildProcessLauncher> weak_factory_; |
| 164 | 160 |
| 165 DISALLOW_COPY_AND_ASSIGN(ChildProcessLauncher); | 161 DISALLOW_COPY_AND_ASSIGN(ChildProcessLauncher); |
| 166 }; | 162 }; |
| 167 | 163 |
| 168 } // namespace content | 164 } // namespace content |
| 169 | 165 |
| 170 #endif // CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ | 166 #endif // CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ |
| OLD | NEW |