Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(980)

Unified Diff: ppapi/native_client/src/trusted/plugin/plugin.h

Issue 131413009: Prototype: Use Chromium IPC for plugin LOAD_MODULE. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased, some FIXMEs cleaned up Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: ppapi/native_client/src/trusted/plugin/plugin.h
diff --git a/ppapi/native_client/src/trusted/plugin/plugin.h b/ppapi/native_client/src/trusted/plugin/plugin.h
index 038d96d9a55585b2cdf7134d9057648577fbfdb4..5c86674f5d92a9f739c631c30637edc99141bfb4 100644
--- a/ppapi/native_client/src/trusted/plugin/plugin.h
+++ b/ppapi/native_client/src/trusted/plugin/plugin.h
@@ -101,6 +101,11 @@ class Plugin : public pp::InstancePrivate {
const pp::CompletionCallback& init_done_cb,
const pp::CompletionCallback& crash_cb);
+ void LoadNexeOnMainThread(int32_t pp_error,
+ ServiceRuntime* service_runtime,
+ nacl::DescWrapper* wrapper,
+ const pp::CompletionCallback& crash_cb);
+
// Finish hooking interfaces up, after low-level initialization is
// complete.
bool LoadNaClModuleContinuationIntern(ErrorInfo* error_info);
@@ -300,13 +305,11 @@ class Plugin : public pp::InstancePrivate {
// Help load a nacl module, from the file specified in wrapper.
// This will fully initialize the |subprocess| if the load was successful.
- bool LoadNaClModuleCommon(nacl::DescWrapper* wrapper,
- NaClSubprocess* subprocess,
- const Manifest* manifest,
- bool should_report_uma,
- const SelLdrStartParams& params,
- const pp::CompletionCallback& init_done_cb,
- const pp::CompletionCallback& crash_cb);
+ bool LoadNaClModuleFromBackgroundThread(
+ nacl::DescWrapper* wrapper,
+ NaClSubprocess* subprocess,
+ const Manifest* manifest,
+ const SelLdrStartParams& params);
// Start sel_ldr from the main thread, given the start params.
// Sets |success| to true on success.
@@ -314,7 +317,9 @@ class Plugin : public pp::InstancePrivate {
void StartSelLdrOnMainThread(int32_t pp_error,
ServiceRuntime* service_runtime,
const SelLdrStartParams& params,
- bool* success);
+ PP_CompletionCallback callback);
+
+ void SignalStartSelLdrDone(int32_t pp_error, ServiceRuntime* service_runtime);
// Callback used when getting the URL for the .nexe file. If the URL loading
// is successful, the file descriptor is opened and can be passed to sel_ldr
@@ -406,6 +411,7 @@ class Plugin : public pp::InstancePrivate {
nacl::string manifest_url_;
ReadyState nacl_ready_state_;
bool nexe_error_reported_; // error or crash reported
+ bool start_sel_ldr_success_;
nacl::DescWrapperFactory* wrapper_factory_;

Powered by Google App Engine
This is Rietveld 408576698