Index: base/multiprocess_test.h |
diff --git a/base/multiprocess_test.h b/base/multiprocess_test.h |
index 4f3200e7a8d73bc477c910dedd33fa3a671370ef..99c2c795250e6c8334f61323ad052db408c96b90 100644 |
--- a/base/multiprocess_test.h |
+++ b/base/multiprocess_test.h |
@@ -81,7 +81,6 @@ class MultiProcessTest : public PlatformTest { |
bool debug_on_start) { |
return SpawnChildImpl(procname, fds_to_map, debug_on_start); |
} |
- |
#endif |
private: |
@@ -89,37 +88,31 @@ class MultiProcessTest : public PlatformTest { |
base::ProcessHandle SpawnChildImpl( |
const std::wstring& procname, |
bool debug_on_start) { |
- CommandLine cl; |
+ CommandLine cl(*CommandLine::ForCurrentProcess()); |
base::ProcessHandle handle = static_cast<base::ProcessHandle>(NULL); |
- std::wstring clstr = cl.command_line_string(); |
- CommandLine::AppendSwitchWithValue(&clstr, kRunClientProcess, procname); |
+ cl.AppendSwitchWithValue(kRunClientProcess, procname); |
- if (debug_on_start) { |
- CommandLine::AppendSwitch(&clstr, switches::kDebugOnStart); |
- } |
+ if (debug_on_start) |
+ cl.AppendSwitch(switches::kDebugOnStart); |
- base::LaunchApp(clstr, false, true, &handle); |
+ base::LaunchApp(cl, false, true, &handle); |
return handle; |
} |
#elif defined(OS_POSIX) |
+ // TODO(port): with the CommandLine refactoring, this code is very similar |
+ // to the Windows code. Investigate whether this can be made shorter. |
base::ProcessHandle SpawnChildImpl( |
const std::wstring& procname, |
const base::file_handle_mapping_vector& fds_to_map, |
bool debug_on_start) { |
- CommandLine cl; |
+ CommandLine cl(*CommandLine::ForCurrentProcess()); |
base::ProcessHandle handle = static_cast<base::ProcessHandle>(NULL); |
+ cl.AppendSwitchWithValue(kRunClientProcess, procname); |
- std::vector<std::string> clvec(cl.argv()); |
- std::wstring wswitchstr = |
- CommandLine::PrefixedSwitchStringWithValue(kRunClientProcess, |
- procname); |
- if (debug_on_start) { |
- CommandLine::AppendSwitch(&wswitchstr, switches::kDebugOnStart); |
- } |
+ if (debug_on_start) |
+ cl.AppendSwitch(switches::kDebugOnStart); |
- std::string switchstr = WideToUTF8(wswitchstr); |
- clvec.push_back(switchstr.c_str()); |
- base::LaunchApp(clvec, fds_to_map, false, &handle); |
+ base::LaunchApp(cl.argv(), fds_to_map, false, &handle); |
return handle; |
} |
#endif |