| Index: components/nacl/renderer/ppb_nacl_private_impl.cc
|
| diff --git a/components/nacl/renderer/ppb_nacl_private_impl.cc b/components/nacl/renderer/ppb_nacl_private_impl.cc
|
| index c85ff7ab19e85149e2dc5249bb69cdb778bc6cbe..2aff86bdbe58491a2bac8e68339388d6bca79d58 100644
|
| --- a/components/nacl/renderer/ppb_nacl_private_impl.cc
|
| +++ b/components/nacl/renderer/ppb_nacl_private_impl.cc
|
| @@ -256,6 +256,7 @@ class ManifestServiceProxy : public ManifestServiceChannel::Delegate {
|
|
|
| // Launch NaCl's sel_ldr process.
|
| void LaunchSelLdr(PP_Instance instance,
|
| + PP_Bool main_service_runtime,
|
| const char* alleged_url,
|
| PP_Bool uses_irt,
|
| PP_Bool uses_ppapi,
|
| @@ -267,7 +268,6 @@ void LaunchSelLdr(PP_Instance instance,
|
| const PPP_ManifestService* manifest_service_interface,
|
| void* manifest_service_user_data,
|
| void* imc_handle,
|
| - struct PP_Var* error_message,
|
| PP_CompletionCallback callback) {
|
| CHECK(ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->
|
| BelongsToCurrentThread());
|
| @@ -283,7 +283,6 @@ void LaunchSelLdr(PP_Instance instance,
|
| FileDescriptor result_socket;
|
| IPC::Sender* sender = content::RenderThread::Get();
|
| DCHECK(sender);
|
| - *error_message = PP_MakeUndefined();
|
| int routing_id = 0;
|
| // If the nexe uses ppapi APIs, we need a routing ID.
|
| // To get the routing ID, we must be on the main thread.
|
| @@ -332,7 +331,14 @@ void LaunchSelLdr(PP_Instance instance,
|
| return;
|
| }
|
| if (!error_message_string.empty()) {
|
| - *error_message = ppapi::StringVar::StringToPPVar(error_message_string);
|
| + if (PP_ToBool(main_service_runtime)) {
|
| + NexeLoadManager* load_manager = GetNexeLoadManager(instance);
|
| + if (load_manager) {
|
| + load_manager->ReportLoadError(PP_NACL_ERROR_SEL_LDR_LAUNCH,
|
| + "ServiceRuntime: failed to start",
|
| + error_message_string);
|
| + }
|
| + }
|
| ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->PostTask(
|
| FROM_HERE,
|
| base::Bind(callback.func, callback.user_data,
|
|
|