Index: ppapi/native_client/src/trusted/plugin/service_runtime.cc |
diff --git a/ppapi/native_client/src/trusted/plugin/service_runtime.cc b/ppapi/native_client/src/trusted/plugin/service_runtime.cc |
index e03f3dc0d6257dd254db8d048942e9b65336425e..f2d0230be3ec1b140f24cd44e1cf2805aa472510 100644 |
--- a/ppapi/native_client/src/trusted/plugin/service_runtime.cc |
+++ b/ppapi/native_client/src/trusted/plugin/service_runtime.cc |
@@ -437,6 +437,11 @@ bool ServiceRuntime::SetupCommandChannel() { |
NaClLog(4, "ServiceRuntime::SetupCommand (this=%p, subprocess=%p)\n", |
static_cast<void*>(this), |
static_cast<void*>(subprocess_.get())); |
+ if (uses_nonsfi_mode_) { |
+ // In non-SFI mode, no SRPC is used. Just skips and returns success. |
+ return true; |
+ } |
+ |
if (!subprocess_->SetupCommand(&command_channel_)) { |
if (main_service_runtime_) { |
ErrorInfo error_info; |
@@ -451,6 +456,12 @@ bool ServiceRuntime::SetupCommandChannel() { |
void ServiceRuntime::LoadModule(PP_NaClFileInfo file_info, |
pp::CompletionCallback callback) { |
+ if (uses_nonsfi_mode_) { |
+ // In non-SFI mode, loading is done a part of LaunchSelLdr. |
+ DidLoadModule(callback, PP_OK); |
+ return; |
+ } |
+ |
NaClFileInfo nacl_file_info; |
nacl_file_info.desc = ConvertFileDescriptor(file_info.handle, true); |
nacl_file_info.file_token.lo = file_info.token_lo; |
@@ -610,6 +621,7 @@ void ServiceRuntime::StartSelLdr(const SelLdrStartParams& params, |
tmp_subprocess->Start(plugin_->pp_instance(), |
main_service_runtime_, |
params.url.c_str(), |
+ ¶ms.file_info, |
params.uses_irt, |
params.uses_ppapi, |
uses_nonsfi_mode_, |