Index: content/browser/child_process_launcher_helper_mac.cc |
diff --git a/content/browser/child_process_launcher_helper_mac.cc b/content/browser/child_process_launcher_helper_mac.cc |
index c90a377d6479e255336788b072ee75b70a6faa80..30f77f81ea63c7a429787338aa4e1924aa8e1542 100644 |
--- a/content/browser/child_process_launcher_helper_mac.cc |
+++ b/content/browser/child_process_launcher_helper_mac.cc |
@@ -38,7 +38,7 @@ void ChildProcessLauncherHelper::BeforeLaunchOnClientThread() { |
DCHECK_CURRENTLY_ON(client_thread_id_); |
} |
-std::unique_ptr<FileDescriptorInfo> |
+std::unique_ptr<PosixFileDescriptorInfo> |
ChildProcessLauncherHelper::GetFilesToMap() { |
DCHECK_CURRENTLY_ON(BrowserThread::PROCESS_LAUNCHER); |
return CreateDefaultPosixFilesToMap( |
@@ -51,9 +51,8 @@ void ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( |
const FileMappedForLaunch& files_to_register, |
base::LaunchOptions* options) { |
// Convert FD mapping to FileHandleMappingVector. |
- std::unique_ptr<base::FileHandleMappingVector> fds_to_map = |
- files_to_register.GetMappingWithIDAdjustment( |
- base::GlobalDescriptors::kBaseDescriptor); |
+ options->fds_to_remap = files_to_register.GetMappingWithIDAdjustment( |
+ base::GlobalDescriptors::kBaseDescriptor); |
options->environ = delegate_->GetEnvironment(); |
@@ -73,7 +72,7 @@ void ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( |
base::FilePath helper_executable; |
CHECK(PathService::Get(content::CHILD_PROCESS_EXE, &helper_executable)); |
- fds_to_map->push_back(std::make_pair(pipe, pipe)); |
+ options->fds_to_remap.push_back(std::make_pair(pipe, pipe)); |
// Update the command line to enable the V2 sandbox and pass the |
// communication FD to the helper executable. |
@@ -81,9 +80,6 @@ void ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( |
command_line_->AppendArg("--fd_mapping=" + std::to_string(pipe)); |
} |
- // fds_to_remap will de deleted in AfterLaunchOnLauncherThread() below. |
- options->fds_to_remap = fds_to_map.release(); |
- |
// Hold the MachBroker lock for the duration of LaunchProcess. The child will |
// send its task port to the parent almost immediately after startup. The Mach |
// message will be delivered to the parent, but updating the record of the |
@@ -115,7 +111,7 @@ void ChildProcessLauncherHelper::BeforeLaunchOnLauncherThread( |
ChildProcessLauncherHelper::Process |
ChildProcessLauncherHelper::LaunchProcessOnLauncherThread( |
const base::LaunchOptions& options, |
- std::unique_ptr<FileDescriptorInfo> files_to_register, |
+ std::unique_ptr<PosixFileDescriptorInfo> files_to_register, |
bool* is_synchronous_launch, |
int* launch_result) { |
*is_synchronous_launch = true; |
@@ -129,8 +125,6 @@ ChildProcessLauncherHelper::LaunchProcessOnLauncherThread( |
void ChildProcessLauncherHelper::AfterLaunchOnLauncherThread( |
const ChildProcessLauncherHelper::Process& process, |
const base::LaunchOptions& options) { |
- delete options.fds_to_remap; |
- |
std::unique_ptr<sandbox::PreExecDelegate> pre_exec_delegate = |
base::WrapUnique(static_cast<sandbox::PreExecDelegate*>( |
options.pre_exec_delegate)); |