Home | History | Annotate | Download | only in common
      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