Chromium Code Reviews| Index: components/nacl/common/nacl_types.cc |
| diff --git a/components/nacl/common/nacl_types.cc b/components/nacl/common/nacl_types.cc |
| index 572b72c44cda14d3f7e6ca0a3cd4d668ffa29762..52ea72afd9a1ebdfe6ffd26e501dd62190ed705b 100644 |
| --- a/components/nacl/common/nacl_types.cc |
| +++ b/components/nacl/common/nacl_types.cc |
| @@ -5,6 +5,10 @@ |
| #include "components/nacl/common/nacl_types.h" |
| #include "ipc/ipc_platform_file.h" |
| +#if defined(OS_POSIX) |
| +#include "ipc/file_descriptor_set_posix.h" |
| +#endif |
| + |
| namespace nacl { |
| NaClStartParams::NaClStartParams() |
| @@ -19,6 +23,33 @@ NaClStartParams::NaClStartParams() |
| NaClStartParams::~NaClStartParams() { |
| } |
| +void NaClStartParams::CheckNumOfDescriptors() { |
| +#if defined(OS_POSIX) |
|
hidehiko
2015/01/28 09:05:19
Isn't this only for Non-SFI? If so, limited to Lin
Yusuke Sato
2015/02/04 02:00:28
Right, for now, OS_LINUX would suffice. Changed to
|
| + // '3' is for |nexe_file|, |debug_stub_server_bound_socket|, and |
| + // |crash_info_shmem_handle|. |
| + size_t num_descs = handles.size() + resource_files.size() + 3; |
| + // If this CHECK fails, either of the following has to be done: |
| + // * Increase kMaxDescriptorsPerMessage in ipc/file_descriptor_set_posix.h. |
| + // * Or, decrease kMaxPreOpenResourceFiles in |
| + // components/nacl/renderer/ppb_nacl_private_impl.cc. |
| + CHECK(num_descs <= FileDescriptorSet::kMaxDescriptorsPerMessage); |
| +#endif |
| +} |
| + |
| +NaClStartParams::ResourceFileInfo::ResourceFileInfo() |
| + : file(IPC::InvalidPlatformFileForTransit()) { |
| +} |
| + |
| +NaClStartParams::ResourceFileInfo::ResourceFileInfo( |
| + IPC::PlatformFileForTransit file, |
| + const base::FilePath& file_path, |
| + const std::string& file_key) |
| + : file(file), file_path(file_path), file_key(file_key) { |
| +} |
| + |
| +NaClStartParams::ResourceFileInfo::~ResourceFileInfo() { |
| +} |
| + |
| NaClLaunchParams::NaClLaunchParams() |
| : nexe_file(IPC::InvalidPlatformFileForTransit()), |
| nexe_token_lo(0), |
| @@ -33,6 +64,7 @@ NaClLaunchParams::NaClLaunchParams( |
| const IPC::PlatformFileForTransit& nexe_file, |
| uint64_t nexe_token_lo, |
| uint64_t nexe_token_hi, |
| + const std::vector<ResourceFileInfo>& resource_files_info, |
| int render_view_id, |
| uint32 permission_bits, |
| bool uses_nonsfi_mode, |
| @@ -41,6 +73,7 @@ NaClLaunchParams::NaClLaunchParams( |
| nexe_file(nexe_file), |
| nexe_token_lo(nexe_token_lo), |
| nexe_token_hi(nexe_token_hi), |
| + resource_files_info(resource_files_info), |
| render_view_id(render_view_id), |
| permission_bits(permission_bits), |
| uses_nonsfi_mode(uses_nonsfi_mode), |
| @@ -50,6 +83,26 @@ NaClLaunchParams::NaClLaunchParams( |
| NaClLaunchParams::~NaClLaunchParams() { |
| } |
| +NaClLaunchParams::ResourceFileInfo::ResourceFileInfo() |
| + : file(IPC::InvalidPlatformFileForTransit()), |
| + file_token_lo(0), |
| + file_token_hi(0) { |
| +} |
| + |
| +NaClLaunchParams::ResourceFileInfo::ResourceFileInfo( |
| + IPC::PlatformFileForTransit file, |
| + uint64_t file_token_lo, |
| + uint64_t file_token_hi, |
| + const std::string& file_key) |
| + : file(file), |
| + file_token_lo(file_token_lo), |
| + file_token_hi(file_token_hi), |
| + file_key(file_key) { |
| +} |
| + |
| +NaClLaunchParams::ResourceFileInfo::~ResourceFileInfo() { |
| +} |
| + |
| NaClLaunchResult::NaClLaunchResult() |
| : imc_channel_handle(IPC::InvalidPlatformFileForTransit()), |
| ppapi_ipc_channel_handle(), |
| @@ -79,4 +132,34 @@ NaClLaunchResult::NaClLaunchResult( |
| NaClLaunchResult::~NaClLaunchResult() { |
| } |
| +NaClOpenExecutableResult::NaClOpenExecutableResult() { |
| +} |
| + |
| +NaClOpenExecutableResult::NaClOpenExecutableResult( |
| + const NaClOpenExecutableResult::FileInfo& file_info, |
| + const std::vector<NaClOpenExecutableResult::FileInfo>& resource_files_info) |
| + : file_info(file_info), |
| + resource_files_info(resource_files_info) { |
| +} |
| + |
| +NaClOpenExecutableResult::~NaClOpenExecutableResult() { |
| +} |
| + |
| +NaClOpenExecutableResult::FileInfo::FileInfo() |
| + : file(IPC::InvalidPlatformFileForTransit()), |
| + file_token_lo(0), |
| + file_token_hi(0) { |
| +} |
| + |
| +NaClOpenExecutableResult::FileInfo::FileInfo(IPC::PlatformFileForTransit file, |
| + uint64_t file_token_lo, |
| + uint64_t file_token_hi) |
| + : file(file), |
| + file_token_lo(file_token_lo), |
| + file_token_hi(file_token_hi) { |
| +} |
| + |
| +NaClOpenExecutableResult::FileInfo::~FileInfo() { |
| +} |
| + |
| } // namespace nacl |