| // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "base/command_line.h" |
| #include "chrome/common/chrome_constants.h" |
| #include "chrome/common/chrome_switches.h" |
| #include "chrome/common/logging_chrome.h" |
| |
| namespace nacl { |
| |
| void CopyNaClCommandLineArguments(CommandLine* cmd_line) { |
| const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess(); |
| if (logging::DialogsAreSuppressed()) |
| cmd_line->AppendSwitch(switches::kNoErrorDialogs); |
| |
| // Propagate the following switches to the NaCl loader command line (along |
| // with any associated values) if present in the browser command line. |
| // TODO(gregoryd): check which flags of those below can be supported. |
| static const char* const kSwitchNames[] = { |
| switches::kNoSandbox, |
| switches::kTestNaClSandbox, |
| switches::kDisableBreakpad, |
| switches::kFullMemoryCrashReport, |
| switches::kEnableLogging, |
| switches::kDisableLogging, |
| switches::kLoggingLevel, |
| switches::kEnableDCHECK, |
| switches::kSilentDumpOnDCHECK, |
| switches::kMemoryProfiling, |
| switches::kEnableNaClDebug, |
| switches::kNaClDebugPorts, |
| switches::kNaClDebugIP, |
| }; |
| cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames, |
| arraysize(kSwitchNames)); |
| } |
| |
| } |