Index: components/nacl/browser/nacl_process_host.cc |
diff --git a/components/nacl/browser/nacl_process_host.cc b/components/nacl/browser/nacl_process_host.cc |
index 033502986c932dc6c41873e3eb18163df66670dd..624d2180c08a4a883e23742cb6e89210df8febc8 100644 |
--- a/components/nacl/browser/nacl_process_host.cc |
+++ b/components/nacl/browser/nacl_process_host.cc |
@@ -821,6 +821,30 @@ bool NaClProcessHost::StartNaClExecution() { |
// Enable PPAPI proxy channel creation only for renderer processes. |
params.enable_ipc_proxy = enable_ppapi_proxy(); |
+ // Currently, non-SFI mode is supported only on Linux. |
+#if defined(OS_LINUX) |
+ if (params.enable_ipc_proxy && uses_nonsfi_mode_) { |
Mark Seaborn
2015/04/15 20:52:05
Nit: At the moment, uses_nonsfi_mode_ implies enab
hidehiko
2015/05/12 18:47:51
Done.
|
+ if (!IPC::SocketPair(¶ms.browser_server_ppapi_fd.fd, |
+ ¶ms.browser_client_ppapi_fd.fd) || |
+ !IPC::SocketPair(¶ms.renderer_server_ppapi_fd.fd, |
Mark Seaborn
2015/04/15 20:52:05
If the subsequent IPC::SocketPair() calls fail, wo
Mark Seaborn
2015/05/12 06:46:10
I guess you're trying to clean up that pre-existin
hidehiko
2015/05/12 18:47:51
Ok, done.
|
+ ¶ms.renderer_client_ppapi_fd.fd) || |
+ !IPC::SocketPair(¶ms.manifest_service_server_fd.fd, |
+ ¶ms.manifest_service_client_fd.fd) || |
+ !IPC::SocketPair(¶ms.trusted_channel_server_fd.fd, |
+ ¶ms.trusted_channel_client_fd.fd)) { |
+ return false; |
+ } |
+ params.browser_server_ppapi_fd.auto_close = true; |
+ params.browser_client_ppapi_fd.auto_close = true; |
Mark Seaborn
2015/04/15 20:52:05
Notice how the NaCl loader process is receiving th
hidehiko
2015/05/12 18:47:51
Done.
|
+ params.renderer_server_ppapi_fd.auto_close = true; |
+ params.renderer_client_ppapi_fd.auto_close = true; |
+ params.manifest_service_server_fd.auto_close = true; |
+ params.manifest_service_client_fd.auto_close = true; |
+ params.trusted_channel_server_fd.auto_close = true; |
+ params.trusted_channel_client_fd.auto_close = true; |
+ } |
+#endif |
+ |
params.process_type = process_type_; |
bool enable_nacl_debug = enable_debug_stub_ && |
NaClBrowser::GetDelegate()->URLMatchesDebugPatterns(manifest_url_); |