Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / base / process / launch.cc
1 // Copyright (c) 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/process/launch.h"
6
7 namespace base {
8
9 LaunchOptions::LaunchOptions()
10     : wait(false),
11 #if defined(OS_WIN)
12       start_hidden(false),
13       handles_to_inherit(NULL),
14       inherit_handles(false),
15       as_user(NULL),
16       empty_desktop_name(false),
17       job_handle(NULL),
18       stdin_handle(NULL),
19       stdout_handle(NULL),
20       stderr_handle(NULL),
21       force_breakaway_from_job_(false)
22 #else
23       fds_to_remap(NULL),
24       maximize_rlimits(NULL),
25       new_process_group(false)
26 #if defined(OS_LINUX)
27       , clone_flags(0)
28       , allow_new_privs(false)
29 #endif  // OS_LINUX
30 #if defined(OS_CHROMEOS)
31       , ctrl_terminal_fd(-1)
32 #endif  // OS_CHROMEOS
33 #endif  // !defined(OS_WIN)
34     {
35 }
36
37 LaunchOptions::~LaunchOptions() {
38 }
39
40 LaunchOptions LaunchOptionsForTest() {
41   LaunchOptions options;
42 #if defined(OS_LINUX)
43   // To prevent accidental privilege sharing to an untrusted child, processes
44   // are started with PR_SET_NO_NEW_PRIVS. Do not set that here, since this
45   // new child will be used for testing only.
46   options.allow_new_privs = true;
47 #endif
48   return options;
49 }
50
51 }  // namespace base