| Index: ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.cc
|
| diff --git a/ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.cc b/ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.cc
|
| index 486696bce53f2683a345a62652508840ffa6e73e..7fcfa916e40ee31b6875504118691477dbccbd45 100644
|
| --- a/ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.cc
|
| +++ b/ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.cc
|
| @@ -3,11 +3,11 @@
|
| // found in the LICENSE file.
|
|
|
| #include "native_client/src/include/nacl_macros.h"
|
| +#include "ppapi/c/pp_errors.h"
|
| +#include "ppapi/cpp/module.h"
|
| #include "ppapi/native_client/src/trusted/plugin/nacl_entry_points.h"
|
| #include "ppapi/native_client/src/trusted/plugin/sel_ldr_launcher_chrome.h"
|
|
|
| -#include "ppapi/cpp/var.h"
|
| -
|
| LaunchNaClProcessFunc launch_nacl_process = NULL;
|
|
|
| namespace plugin {
|
| @@ -17,7 +17,7 @@ bool SelLdrLauncherChrome::Start(const char* url) {
|
| return false;
|
| }
|
|
|
| -bool SelLdrLauncherChrome::Start(PP_Instance instance,
|
| +void SelLdrLauncherChrome::Start(PP_Instance instance,
|
| const char* url,
|
| bool uses_irt,
|
| bool uses_ppapi,
|
| @@ -25,29 +25,23 @@ bool SelLdrLauncherChrome::Start(PP_Instance instance,
|
| bool enable_dyncode_syscalls,
|
| bool enable_exception_handling,
|
| bool enable_crash_throttling,
|
| - nacl::string* error_message) {
|
| - *error_message = "";
|
| - if (!launch_nacl_process)
|
| - return false;
|
| - PP_Var var_error_message;
|
| - // send a synchronous message to the browser process
|
| - if (launch_nacl_process(instance,
|
| - url,
|
| - PP_FromBool(uses_irt),
|
| - PP_FromBool(uses_ppapi),
|
| - PP_FromBool(enable_ppapi_dev),
|
| - PP_FromBool(enable_dyncode_syscalls),
|
| - PP_FromBool(enable_exception_handling),
|
| - PP_FromBool(enable_crash_throttling),
|
| - &channel_,
|
| - &var_error_message) != PP_EXTERNAL_PLUGIN_OK) {
|
| - pp::Var var_error_message_cpp(pp::PASS_REF, var_error_message);
|
| - if (var_error_message_cpp.is_string()) {
|
| - *error_message = var_error_message_cpp.AsString();
|
| - }
|
| - return false;
|
| + PP_Var* error_message,
|
| + pp::CompletionCallback callback) {
|
| + if (!launch_nacl_process) {
|
| + pp::Module::Get()->core()->CallOnMainThread(0, callback, PP_ERROR_FAILED);
|
| + return;
|
| }
|
| - return true;
|
| + launch_nacl_process(instance,
|
| + url,
|
| + PP_FromBool(uses_irt),
|
| + PP_FromBool(uses_ppapi),
|
| + PP_FromBool(enable_ppapi_dev),
|
| + PP_FromBool(enable_dyncode_syscalls),
|
| + PP_FromBool(enable_exception_handling),
|
| + PP_FromBool(enable_crash_throttling),
|
| + &channel_,
|
| + error_message,
|
| + callback.pp_completion_callback());
|
| }
|
|
|
| } // namespace plugin
|
|
|