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

Unified Diff: components/nacl/browser/nacl_process_host.h

Issue 2514323004: Convert NaCl renderer-browser messages to mojo. (Closed)
Patch Set: Created 3 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
« no previous file with comments | « components/nacl/browser/nacl_host_message_filter.cc ('k') | components/nacl/browser/nacl_process_host.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: components/nacl/browser/nacl_process_host.h
diff --git a/components/nacl/browser/nacl_process_host.h b/components/nacl/browser/nacl_process_host.h
index d3fd57aaa9a3e3daf5e8f672573acd64b82a41cb..480cdbfbd92ee706ac50450ae9d8d623f7ae4e33 100644
--- a/components/nacl/browser/nacl_process_host.h
+++ b/components/nacl/browser/nacl_process_host.h
@@ -21,6 +21,7 @@
#include "base/memory/weak_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/process/process.h"
+#include "components/nacl/common/nacl.mojom.h"
#include "components/nacl/common/nacl_types.h"
#include "content/public/browser/browser_child_process_host_delegate.h"
#include "content/public/browser/browser_child_process_host_iterator.h"
@@ -51,7 +52,6 @@ struct NaClFileToken {
uint64_t hi;
};
-class NaClHostMessageFilter;
void* AllocateAddressSpaceASLR(base::ProcessHandle process, size_t size);
// Represents the browser side of the browser <--> NaCl communication
@@ -80,6 +80,7 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
const NaClFileToken& nexe_token,
const std::vector<NaClResourcePrefetchResult>& prefetched_resource_files,
ppapi::PpapiPermissions permissions,
+ int render_process_id,
int render_view_id,
uint32_t permission_bits,
bool uses_nonsfi_mode,
@@ -101,11 +102,9 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
// Specifies throttling time in milliseconds for PpapiHostMsg_Keepalive IPCs.
static void SetPpapiKeepAliveThrottleForTesting(unsigned milliseconds);
- // Initialize the new NaCl process. Result is returned by sending ipc
- // message reply_msg.
- void Launch(NaClHostMessageFilter* nacl_host_message_filter,
- IPC::Message* reply_msg,
- const base::FilePath& manifest_path);
+ // Initialize the new NaCl process. Result is returned via |callback|.
+ void Launch(const base::FilePath& manifest_path,
+ const mojom::NaClHost::LaunchNaClCallback& callback);
void OnChannelConnected(int32_t peer_pid) override;
@@ -158,7 +157,7 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
// Sends the reply message to the renderer. Either result or
// error message must be empty.
- void SendMessageToRenderer(const NaClLaunchResult& result,
+ void SendMessageToRenderer(mojom::NaClLaunchResultPtr result,
const std::string& error_message);
// Sends the message to the NaCl process to load the plugin. Returns true
@@ -215,14 +214,10 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
// the NaCl loader.
bool process_launched_by_broker_;
#endif
- // The NaClHostMessageFilter that requested this NaCl process. We use
- // this for sending the reply once the process has started.
- scoped_refptr<NaClHostMessageFilter> nacl_host_message_filter_;
-
- // The reply message to send. We must always send this message when the
- // sub-process either succeeds or fails to unblock the renderer waiting for
- // the reply. NULL when there is no reply to send.
- IPC::Message* reply_msg_;
+
+ // The result callback. We must always call this callback when the sub-process
+ // either succeeds or fails to unblock the renderer waiting for the reply.
+ mojom::NaClHost::LaunchNaClCallback launch_callback_;
#if defined(OS_WIN)
bool debug_exception_handler_requested_;
std::unique_ptr<IPC::Message> attach_debug_exception_handler_reply_msg_;
@@ -238,8 +233,8 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
bool enable_debug_stub_;
bool enable_crash_throttling_;
- bool off_the_record_;
- NaClAppProcessType process_type_;
+ const bool off_the_record_;
+ const NaClAppProcessType process_type_;
const base::FilePath profile_directory_;
@@ -248,7 +243,8 @@ class NaClProcessHost : public content::BrowserChildProcessHostDelegate {
// Browser host for plugin process.
std::unique_ptr<content::BrowserPpapiHost> ppapi_host_;
- int render_view_id_;
+ const int render_process_id_;
+ const int render_view_id_;
// Throttling time in milliseconds for PpapiHostMsg_Keepalive IPCs.
static unsigned keepalive_throttle_interval_milliseconds_;
« no previous file with comments | « components/nacl/browser/nacl_host_message_filter.cc ('k') | components/nacl/browser/nacl_process_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698