1 // Copyright (c) 2010 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 "base/command_line.h" 6 #include "chrome/common/chrome_constants.h" 7 #include "chrome/common/chrome_switches.h" 8 #include "chrome/common/logging_chrome.h" 9 10 namespace nacl { 11 12 void CopyNaClCommandLineArguments(CommandLine* cmd_line) { 13 const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); 14 if (logging::DialogsAreSuppressed()) 15 cmd_line->AppendSwitch(switches::kNoErrorDialogs); 16 17 // Propagate the following switches to the NaCl loader command line (along 18 // with any associated values) if present in the browser command line. 19 // TODO(gregoryd): check which flags of those below can be supported. 20 static const char* const kSwitchNames[] = { 21 switches::kNoSandbox, 22 switches::kTestNaClSandbox, 23 switches::kDisableBreakpad, 24 switches::kFullMemoryCrashReport, 25 switches::kEnableLogging, 26 switches::kDisableLogging, 27 switches::kLoggingLevel, 28 switches::kEnableDCHECK, 29 switches::kSilentDumpOnDCHECK, 30 switches::kMemoryProfiling, 31 switches::kEnableNaClDebug, 32 switches::kNaClDebugPorts, 33 switches::kNaClDebugIP, 34 }; 35 cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames, 36 arraysize(kSwitchNames)); 37 } 38 39 } 40