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.
5 #include "components/nacl/common/nacl_types.h"
6 #include "ipc/ipc_platform_file.h"
10 NaClStartParams::NaClStartParams()
11 : validation_cache_enabled(false),
12 enable_exception_handling(false),
13 enable_debug_stub(false),
14 enable_ipc_proxy(false),
16 enable_dyncode_syscalls(false) {
19 NaClStartParams::~NaClStartParams() {
22 NaClLaunchParams::NaClLaunchParams()
26 enable_dyncode_syscalls(false),
27 enable_exception_handling(false),
28 enable_crash_throttling(false) {
31 NaClLaunchParams::NaClLaunchParams(const std::string& manifest_url,
33 uint32 permission_bits,
35 bool uses_nonsfi_mode,
36 bool enable_dyncode_syscalls,
37 bool enable_exception_handling,
38 bool enable_crash_throttling)
39 : manifest_url(manifest_url),
40 render_view_id(render_view_id),
41 permission_bits(permission_bits),
43 uses_nonsfi_mode(uses_nonsfi_mode),
44 enable_dyncode_syscalls(enable_dyncode_syscalls),
45 enable_exception_handling(enable_exception_handling),
46 enable_crash_throttling(enable_crash_throttling) {
49 NaClLaunchParams::NaClLaunchParams(const NaClLaunchParams& l) {
50 manifest_url = l.manifest_url;
51 render_view_id = l.render_view_id;
52 permission_bits = l.permission_bits;
53 uses_irt = l.uses_irt;
54 enable_dyncode_syscalls = l.enable_dyncode_syscalls;
55 enable_exception_handling = l.enable_exception_handling;
56 enable_crash_throttling = l.enable_crash_throttling;
59 NaClLaunchParams::~NaClLaunchParams() {
62 NaClLaunchResult::NaClLaunchResult()
63 : imc_channel_handle(IPC::InvalidPlatformFileForTransit()),
64 ppapi_ipc_channel_handle(),
65 trusted_ipc_channel_handle(),
66 plugin_pid(base::kNullProcessId),
70 NaClLaunchResult::NaClLaunchResult(
71 FileDescriptor imc_channel_handle,
72 const IPC::ChannelHandle& ppapi_ipc_channel_handle,
73 const IPC::ChannelHandle& trusted_ipc_channel_handle,
74 const IPC::ChannelHandle& manifest_service_ipc_channel_handle,
75 base::ProcessId plugin_pid,
77 : imc_channel_handle(imc_channel_handle),
78 ppapi_ipc_channel_handle(ppapi_ipc_channel_handle),
79 trusted_ipc_channel_handle(trusted_ipc_channel_handle),
80 manifest_service_ipc_channel_handle(manifest_service_ipc_channel_handle),
81 plugin_pid(plugin_pid),
82 plugin_child_id(plugin_child_id) {
85 NaClLaunchResult::~NaClLaunchResult() {