| Index: components/nacl/common/nacl.mojom
|
| diff --git a/components/nacl/common/nacl.mojom b/components/nacl/common/nacl.mojom
|
| index 70b1286953e948f7caa74074e164d09e8fb437bd..859ed706a7c25bfaa2e313978eef57dacb1c0236 100644
|
| --- a/components/nacl/common/nacl.mojom
|
| +++ b/components/nacl/common/nacl.mojom
|
| @@ -4,9 +4,51 @@
|
|
|
| module nacl.mojom;
|
|
|
| +import "mojo/common/file.mojom";
|
| +import "url/mojo/url.mojom";
|
| +
|
| [Native]
|
| enum NaClErrorCode;
|
|
|
| +[Native]
|
| +enum NaClAppProcessType;
|
| +
|
| +[Native]
|
| +struct NaClResourcePrefetchRequest;
|
| +
|
| +struct NaClLaunchResult {
|
| + // For plugin <-> renderer PPAPI communication.
|
| + handle<message_pipe> ppapi_ipc_channel_handle;
|
| +
|
| + // For plugin loader <-> renderer control communication (loading and
|
| + // starting nexe).
|
| + NaClRendererHost& trusted_ipc_channel_handle;
|
| +
|
| + // For plugin <-> renderer ManifestService communication.
|
| + handle<message_pipe> manifest_service_ipc_channel_handle;
|
| +
|
| + int32 plugin_pid;
|
| + int32 plugin_child_id;
|
| +
|
| + // For NaCl <-> renderer crash information reporting.
|
| + handle<shared_buffer> crash_info_shmem_handle;
|
| +};
|
| +
|
| +struct NaClLaunchParams {
|
| + url.mojom.Url manifest_url;
|
| + mojo.common.mojom.File nexe_file;
|
| + uint64 nexe_token_lo;
|
| + uint64 nexe_token_hi;
|
| + array<NaClResourcePrefetchRequest> resource_prefetch_request_list;
|
| + int32 render_view_id;
|
| + uint32 permission_bits;
|
| + bool uses_nonsfi_mode;
|
| + NaClAppProcessType process_type;
|
| +};
|
| +
|
| +[Native]
|
| +struct PnaclCacheInfo;
|
| +
|
| interface NaClRendererHost {
|
| // This message must be synchronous to ensure that the exit status is sent
|
| // from NaCl to the renderer before the NaCl process exits very soon after.
|
| @@ -24,3 +66,69 @@ interface NaClRendererHost {
|
| // When this interface is closed, it indicates that the NaCl loader process
|
| // should exit.
|
| interface NaClExitControl {};
|
| +
|
| +interface NaClHost {
|
| + // A renderer sends this to the browser process when it wants to start
|
| + // a new instance of the Native Client process.
|
| + [Sync]
|
| + LaunchNaCl(NaClLaunchParams launch_params) => (
|
| + NaClLaunchResult? result,
|
| + string error_message);
|
| +
|
| + // A renderer sends this to the browser process when it wants to
|
| + // open a file for from the Pnacl component directory.
|
| + [Sync]
|
| + GetReadonlyPnaclFd(
|
| + string name_of_requested_pnacl_file,
|
| + bool is_executable) => (
|
| + mojo.common.mojom.File? output_file,
|
| + uint64 file_token_lo,
|
| + uint64 file_token_hi);
|
| +
|
| + // A renderer sends this to the browser process when it wants to
|
| + // create a temporary file.
|
| + [Sync]
|
| + NaClCreateTemporaryFile() => (mojo.common.mojom.File? out_file);
|
| +
|
| + // A renderer sends this to the browser to request a file descriptor for
|
| + // a translated nexe.
|
| + NexeTempFileRequest(
|
| + int32 render_view_id,
|
| + int32 instance,
|
| + PnaclCacheInfo cache_info) => (
|
| + int32 instance,
|
| + mojo.common.mojom.File? output_file,
|
| + bool is_cache_hit);
|
| +
|
| +
|
| + // A renderer sends this to the browser to report that its translation has
|
| + // finished and its temp file contains the translated nexe.
|
| + ReportTranslationFinished(int32 instance, bool success);
|
| +
|
| + // A renderer sends this to the browser process to report when the client
|
| + // architecture is not listed in the manifest.
|
| + MissingArchError(int32 render_view_id);
|
| +
|
| + // A renderer sends this to the browser process when it wants to
|
| + // open a NaCl executable file from an installed application directory.
|
| + [Sync]
|
| + OpenNaClExecutable(
|
| + int32 render_view_id,
|
| + url.mojom.Url url_of_nacl_executable_file,
|
| + bool enable_validation_caching) => (
|
| + mojo.common.mojom.File? output_file,
|
| + uint64 file_token_lo,
|
| + uint64 file_token_hi);
|
| +
|
| + // A renderer sends this to the browser process to determine how many
|
| + // processors are online.
|
| + [Sync]
|
| + NaClGetNumProcessors() => (int32 number_of_processors);
|
| +
|
| + // A renderer sends this to the browser process to determine if the
|
| + // NaCl application started from the given NMF URL will be debugged.
|
| + // If not (filtered out by commandline flags), it sets should_debug to false.
|
| + [Sync]
|
| + NaClDebugEnabledForURL(url.mojom.Url alleged_url_of_nmf_file) => (
|
| + bool should_debug);
|
| +};
|
|
|