X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Fcomponents%2Fnacl%2Frenderer%2Fnexe_load_manager.h;h=8a816900f473e8d206819222f1144e5d4adcf122;hb=3545e9f2671f595d2a2f3ee75ca0393b01e35ef6;hp=9ecbe6710c80cd06b1785cdb05bf832c742ee636;hpb=7d210d4c7e9ba36e635eabc5b5780495f8a63292;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/components/nacl/renderer/nexe_load_manager.h b/src/components/nacl/renderer/nexe_load_manager.h index 9ecbe67..8a81690 100644 --- a/src/components/nacl/renderer/nexe_load_manager.h +++ b/src/components/nacl/renderer/nexe_load_manager.h @@ -11,6 +11,7 @@ #include "base/files/file.h" #include "base/macros.h" #include "base/memory/scoped_ptr.h" +#include "base/memory/shared_memory.h" #include "base/memory/weak_ptr.h" #include "base/time/time.h" #include "ppapi/c/private/ppb_nacl_private.h" @@ -29,9 +30,13 @@ class TrustedPluginChannel; // nexe. class NexeLoadManager { public: - explicit NexeLoadManager(PP_Instance instance); ~NexeLoadManager(); + static void Create(PP_Instance instance); + // Non-owning pointer. + static NexeLoadManager* Get(PP_Instance instance); + static void Delete(PP_Instance instance); + void NexeFileDidOpen(int32_t pp_error, const base::File& file, int32_t http_status, @@ -53,7 +58,7 @@ class NexeLoadManager { const std::string& error_message, const std::string& console_message); void ReportLoadAbort(); - void NexeDidCrash(const char* crash_log); + void NexeDidCrash(); // TODO(dmichael): Everything below this comment should eventually be made // private, when ppb_nacl_private_impl.cc is no longer using them directly. @@ -112,9 +117,15 @@ class NexeLoadManager { const std::string& program_url() const { return program_url_; } + void set_crash_info_shmem_handle(base::SharedMemoryHandle h) { + crash_info_shmem_handle_ = h; + } + private: DISALLOW_COPY_AND_ASSIGN(NexeLoadManager); + explicit NexeLoadManager(PP_Instance instance); + void ReportDeadNexe(); // Copies a crash log to the console, one line at a time. @@ -171,6 +182,8 @@ class NexeLoadManager { base::Time pnacl_start_time_; + base::SharedMemoryHandle crash_info_shmem_handle_; + scoped_ptr trusted_plugin_channel_; scoped_ptr manifest_service_channel_; base::WeakPtrFactory weak_factory_;