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 <memory> | 8 #include <memory> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
126 // previous client. | 126 // previous client. |
127 Client* ReplaceClientForTest(Client* client); | 127 Client* ReplaceClientForTest(Client* client); |
128 | 128 |
129 private: | 129 private: |
130 friend class internal::ChildProcessLauncherHelper; | 130 friend class internal::ChildProcessLauncherHelper; |
131 | 131 |
132 void UpdateTerminationStatus(bool known_dead); | 132 void UpdateTerminationStatus(bool known_dead); |
133 | 133 |
134 // Notifies the client about the result of the operation. | 134 // Notifies the client about the result of the operation. |
135 void Notify(internal::ChildProcessLauncherHelper::Process process, | 135 void Notify(internal::ChildProcessLauncherHelper::Process process, |
136 mojo::edk::ScopedPlatformHandle server_handle, | |
137 int error_code); | 136 int error_code); |
138 | 137 |
139 Client* client_; | 138 Client* client_; |
140 BrowserThread::ID client_thread_id_; | 139 BrowserThread::ID client_thread_id_; |
141 | 140 |
142 // The process associated with this ChildProcessLauncher. Set in Notify by | 141 // The process associated with this ChildProcessLauncher. Set in Notify by |
143 // ChildProcessLauncherHelper once the process was started. | 142 // ChildProcessLauncherHelper once the process was started. |
144 internal::ChildProcessLauncherHelper::Process process_; | 143 internal::ChildProcessLauncherHelper::Process process_; |
145 | 144 |
146 base::TerminationStatus termination_status_; | 145 base::TerminationStatus termination_status_; |
147 int exit_code_; | 146 int exit_code_; |
148 bool starting_; | 147 bool starting_; |
149 std::unique_ptr<mojo::edk::PendingProcessConnection> pending_connection_; | |
150 const mojo::edk::ProcessErrorCallback process_error_callback_; | 148 const mojo::edk::ProcessErrorCallback process_error_callback_; |
151 | 149 |
152 // Controls whether the child process should be terminated on browser | 150 // Controls whether the child process should be terminated on browser |
153 // shutdown. Default behavior is to terminate the child. | 151 // shutdown. Default behavior is to terminate the child. |
154 const bool terminate_child_on_shutdown_; | 152 const bool terminate_child_on_shutdown_; |
155 | 153 |
156 scoped_refptr<internal::ChildProcessLauncherHelper> helper_; | 154 scoped_refptr<internal::ChildProcessLauncherHelper> helper_; |
157 | 155 |
158 base::WeakPtrFactory<ChildProcessLauncher> weak_factory_; | 156 base::WeakPtrFactory<ChildProcessLauncher> weak_factory_; |
159 | 157 |
160 DISALLOW_COPY_AND_ASSIGN(ChildProcessLauncher); | 158 DISALLOW_COPY_AND_ASSIGN(ChildProcessLauncher); |
161 }; | 159 }; |
162 | 160 |
163 } // namespace content | 161 } // namespace content |
164 | 162 |
165 #endif // CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ | 163 #endif // CONTENT_BROWSER_CHILD_PROCESS_LAUNCHER_H_ |
OLD | NEW |