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 3 // found in the LICENSE file. 4 5 #include "win8/delegate_execute/delegate_execute_util.h" 6 7 #include "base/files/file_path.h" 8 #include "base/strings/string_util.h" 9 10 namespace delegate_execute { 11 12 CommandLine CommandLineFromParameters(const wchar_t* params) { 13 CommandLine command_line(CommandLine::NO_PROGRAM); 14 15 if (params) { 16 base::string16 command_string(L"noprogram.exe "); 17 command_string.append(params); 18 command_line.ParseFromString(command_string); 19 command_line.SetProgram(base::FilePath()); 20 } 21 22 return command_line; 23 } 24 25 CommandLine MakeChromeCommandLine(const base::FilePath& chrome_exe, 26 const CommandLine& params, 27 const base::string16& argument) { 28 CommandLine chrome_cmd(params); 29 chrome_cmd.SetProgram(chrome_exe); 30 31 if (!argument.empty()) 32 chrome_cmd.AppendArgNative(argument); 33 34 return chrome_cmd; 35 } 36 37 base::string16 ParametersFromSwitch(const char* a_switch) { 38 if (!a_switch) 39 return base::string16(); 40 41 CommandLine cmd_line(CommandLine::NO_PROGRAM); 42 43 cmd_line.AppendSwitch(a_switch); 44 45 base::string16 command_string(cmd_line.GetCommandLineString()); 46 base::TrimWhitespace(command_string, base::TRIM_ALL, &command_string); 47 return command_string; 48 } 49 50 } // namespace delegate_execute 51