Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(208)

Side by Side Diff: services/shell/runner/host/child_process_base.cc

Issue 2174983002: OS_LINUX and OS_ANDROID are mutually exclusive. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | services/shell/runner/host/child_process_host.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "services/shell/runner/host/child_process_base.h" 5 #include "services/shell/runner/host/child_process_base.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/stack_trace.h" 8 #include "base/debug/stack_trace.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
11 #include "base/memory/ref_counted.h" 11 #include "base/memory/ref_counted.h"
12 #include "base/message_loop/message_loop.h" 12 #include "base/message_loop/message_loop.h"
13 #include "base/single_thread_task_runner.h" 13 #include "base/single_thread_task_runner.h"
14 #include "base/synchronization/waitable_event.h" 14 #include "base/synchronization/waitable_event.h"
15 #include "base/threading/thread.h" 15 #include "base/threading/thread.h"
16 #include "mojo/edk/embedder/embedder.h" 16 #include "mojo/edk/embedder/embedder.h"
17 #include "mojo/edk/embedder/process_delegate.h" 17 #include "mojo/edk/embedder/process_delegate.h"
18 #include "services/shell/runner/common/client_util.h" 18 #include "services/shell/runner/common/client_util.h"
19 #include "services/shell/runner/common/switches.h" 19 #include "services/shell/runner/common/switches.h"
20 20
21 #if defined(OS_LINUX) && !defined(OS_ANDROID) 21 #if defined(OS_LINUX)
22 #include "base/rand_util.h" 22 #include "base/rand_util.h"
23 #include "base/sys_info.h" 23 #include "base/sys_info.h"
24 #include "services/shell/runner/host/linux_sandbox.h" 24 #include "services/shell/runner/host/linux_sandbox.h"
25 #endif 25 #endif
26 26
27 #if defined(OS_MACOSX) 27 #if defined(OS_MACOSX)
28 #include "services/shell/runner/host/mach_broker.h" 28 #include "services/shell/runner/host/mach_broker.h"
29 #endif 29 #endif
30 30
31 namespace shell { 31 namespace shell {
32 32
33 namespace { 33 namespace {
34 34
35 #if defined(OS_LINUX) && !defined(OS_ANDROID) 35 #if defined(OS_LINUX)
36 std::unique_ptr<LinuxSandbox> InitializeSandbox() { 36 std::unique_ptr<LinuxSandbox> InitializeSandbox() {
37 using sandbox::syscall_broker::BrokerFilePermission; 37 using sandbox::syscall_broker::BrokerFilePermission;
38 // Warm parts of base in the copy of base in the mojo runner. 38 // Warm parts of base in the copy of base in the mojo runner.
39 base::RandUint64(); 39 base::RandUint64();
40 base::SysInfo::AmountOfPhysicalMemory(); 40 base::SysInfo::AmountOfPhysicalMemory();
41 base::SysInfo::NumberOfProcessors(); 41 base::SysInfo::NumberOfProcessors();
42 42
43 // TODO(erg,jln): Allowing access to all of /dev/shm/ makes it easy to 43 // TODO(erg,jln): Allowing access to all of /dev/shm/ makes it easy to
44 // spy on other shared memory using processes. This is a temporary hack 44 // spy on other shared memory using processes. This is a temporary hack
45 // so that we have some sandbox until we have proper shared memory 45 // so that we have some sandbox until we have proper shared memory
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 #if defined(OS_MACOSX) 106 #if defined(OS_MACOSX)
107 // Send our task port to the parent. 107 // Send our task port to the parent.
108 MachBroker::SendTaskPortToParent(); 108 MachBroker::SendTaskPortToParent();
109 #endif 109 #endif
110 110
111 #if !defined(OFFICIAL_BUILD) 111 #if !defined(OFFICIAL_BUILD)
112 // Initialize stack dumping just before initializing sandbox to make 112 // Initialize stack dumping just before initializing sandbox to make
113 // sure symbol names in all loaded libraries will be cached. 113 // sure symbol names in all loaded libraries will be cached.
114 base::debug::EnableInProcessStackDumping(); 114 base::debug::EnableInProcessStackDumping();
115 #endif 115 #endif
116 #if defined(OS_LINUX) && !defined(OS_ANDROID) 116 #if defined(OS_LINUX)
117 std::unique_ptr<LinuxSandbox> sandbox; 117 std::unique_ptr<LinuxSandbox> sandbox;
118 const base::CommandLine& command_line = 118 const base::CommandLine& command_line =
119 *base::CommandLine::ForCurrentProcess(); 119 *base::CommandLine::ForCurrentProcess();
120 if (command_line.HasSwitch(switches::kEnableSandbox)) 120 if (command_line.HasSwitch(switches::kEnableSandbox))
121 sandbox = InitializeSandbox(); 121 sandbox = InitializeSandbox();
122 #endif 122 #endif
123 123
124 ScopedAppContext app_context; 124 ScopedAppContext app_context;
125 callback.Run(GetServiceRequestFromCommandLine()); 125 callback.Run(GetServiceRequestFromCommandLine());
126 } 126 }
127 127
128 } // namespace shell 128 } // namespace shell
OLDNEW
« no previous file with comments | « no previous file | services/shell/runner/host/child_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698