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

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

Issue 1051243002: Non-SFI: move socketpair() from plugin process to browser process. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 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: 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(&params.browser_server_ppapi_fd.fd,
+ &params.browser_client_ppapi_fd.fd) ||
+ !IPC::SocketPair(&params.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.
+ &params.renderer_client_ppapi_fd.fd) ||
+ !IPC::SocketPair(&params.manifest_service_server_fd.fd,
+ &params.manifest_service_client_fd.fd) ||
+ !IPC::SocketPair(&params.trusted_channel_server_fd.fd,
+ &params.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_);

Powered by Google App Engine
This is Rietveld 408576698