1// Copyright 2013 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/base_switches.h"
6#include "base/basictypes.h"
7#include "base/command_line.h"
8#include "components/nacl/common/nacl_switches.h"
9#include "content/public/common/content_switches.h"
10
11namespace nacl {
12
13void CopyNaClCommandLineArguments(CommandLine* cmd_line) {
14  const CommandLine& browser_command_line = *CommandLine::ForCurrentProcess();
15
16  // Propagate the following switches to the NaCl loader command line (along
17  // with any associated values) if present in the browser command line.
18  // TODO(gregoryd): check which flags of those below can be supported.
19  static const char* const kSwitchNames[] = {
20    switches::kNoSandbox,
21    switches::kDisableBreakpad,
22    switches::kFullMemoryCrashReport,
23    switches::kEnableLogging,
24    switches::kDisableLogging,
25    switches::kLoggingLevel,
26    switches::kNoErrorDialogs,
27#if defined(OS_MACOSX)
28    switches::kEnableSandboxLogging,
29#endif
30  };
31  cmd_line->CopySwitchesFrom(browser_command_line, kSwitchNames,
32                             arraysize(kSwitchNames));
33}
34
35}  // namespace nacl
36