1 // Copyright 2013 The Chromium Authors
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 "build/build_config.h"
6 #include "components/nacl/common/nacl_types.h"
7 #include "ipc/ipc_platform_file.h"
8
9 namespace nacl {
10
NaClStartParams()11 NaClStartParams::NaClStartParams()
12 : nexe_file(IPC::InvalidPlatformFileForTransit()),
13 irt_handle(IPC::InvalidPlatformFileForTransit()),
14 #if BUILDFLAG(IS_POSIX)
15 debug_stub_server_bound_socket(IPC::InvalidPlatformFileForTransit()),
16 #endif
17 validation_cache_enabled(false),
18 enable_debug_stub(false),
19 process_type(kUnknownNaClProcessType) {
20 }
21
22 NaClStartParams::NaClStartParams(NaClStartParams&& other) = default;
23
~NaClStartParams()24 NaClStartParams::~NaClStartParams() {
25 }
26
NaClResourcePrefetchResult()27 NaClResourcePrefetchResult::NaClResourcePrefetchResult()
28 : file(IPC::InvalidPlatformFileForTransit()) {
29 }
30
NaClResourcePrefetchResult(const IPC::PlatformFileForTransit & file,const base::FilePath & file_path_metadata,const std::string & file_key)31 NaClResourcePrefetchResult::NaClResourcePrefetchResult(
32 const IPC::PlatformFileForTransit& file,
33 const base::FilePath& file_path_metadata,
34 const std::string& file_key)
35 : file(file), file_path_metadata(file_path_metadata), file_key(file_key) {
36 }
37
~NaClResourcePrefetchResult()38 NaClResourcePrefetchResult::~NaClResourcePrefetchResult() {
39 }
40
NaClResourcePrefetchRequest()41 NaClResourcePrefetchRequest::NaClResourcePrefetchRequest() {
42 }
43
NaClResourcePrefetchRequest(const std::string & file_key,const std::string & resource_url)44 NaClResourcePrefetchRequest::NaClResourcePrefetchRequest(
45 const std::string& file_key,
46 const std::string& resource_url)
47 : file_key(file_key),
48 resource_url(resource_url) {
49 }
50
~NaClResourcePrefetchRequest()51 NaClResourcePrefetchRequest::~NaClResourcePrefetchRequest() {
52 }
53
54 NaClLaunchParams::NaClLaunchParams() = default;
55
NaClLaunchParams(const std::string & manifest_url,const IPC::PlatformFileForTransit & nexe_file,uint64_t nexe_token_lo,uint64_t nexe_token_hi,const std::vector<NaClResourcePrefetchRequest> & resource_prefetch_request_list,int render_frame_id,uint32_t permission_bits,NaClAppProcessType process_type)56 NaClLaunchParams::NaClLaunchParams(
57 const std::string& manifest_url,
58 const IPC::PlatformFileForTransit& nexe_file,
59 uint64_t nexe_token_lo,
60 uint64_t nexe_token_hi,
61 const std::vector<NaClResourcePrefetchRequest>&
62 resource_prefetch_request_list,
63 int render_frame_id,
64 uint32_t permission_bits,
65 NaClAppProcessType process_type)
66 : manifest_url(manifest_url),
67 nexe_file(nexe_file),
68 nexe_token_lo(nexe_token_lo),
69 nexe_token_hi(nexe_token_hi),
70 resource_prefetch_request_list(resource_prefetch_request_list),
71 render_frame_id(render_frame_id),
72 permission_bits(permission_bits),
73 process_type(process_type) {}
74
75 NaClLaunchParams::NaClLaunchParams(const NaClLaunchParams& other) = default;
76
~NaClLaunchParams()77 NaClLaunchParams::~NaClLaunchParams() {
78 }
79
NaClLaunchResult()80 NaClLaunchResult::NaClLaunchResult()
81 : ppapi_ipc_channel_handle(),
82 trusted_ipc_channel_handle(),
83 plugin_pid(base::kNullProcessId),
84 plugin_child_id(0) {}
85
NaClLaunchResult(const IPC::ChannelHandle & ppapi_ipc_channel_handle,const IPC::ChannelHandle & trusted_ipc_channel_handle,const IPC::ChannelHandle & manifest_service_ipc_channel_handle,base::ProcessId plugin_pid,int plugin_child_id,base::ReadOnlySharedMemoryRegion crash_info_shmem_region)86 NaClLaunchResult::NaClLaunchResult(
87 const IPC::ChannelHandle& ppapi_ipc_channel_handle,
88 const IPC::ChannelHandle& trusted_ipc_channel_handle,
89 const IPC::ChannelHandle& manifest_service_ipc_channel_handle,
90 base::ProcessId plugin_pid,
91 int plugin_child_id,
92 base::ReadOnlySharedMemoryRegion crash_info_shmem_region)
93 : ppapi_ipc_channel_handle(ppapi_ipc_channel_handle),
94 trusted_ipc_channel_handle(trusted_ipc_channel_handle),
95 manifest_service_ipc_channel_handle(manifest_service_ipc_channel_handle),
96 plugin_pid(plugin_pid),
97 plugin_child_id(plugin_child_id),
98 crash_info_shmem_region(std::move(crash_info_shmem_region)) {}
99
~NaClLaunchResult()100 NaClLaunchResult::~NaClLaunchResult() {
101 }
102
103 } // namespace nacl
104