• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
CopyNaClCommandLineArguments(CommandLine * cmd_line)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