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

Unified Diff: components/nacl/renderer/ppb_nacl_private_impl.cc

Issue 332463003: Pepper: Remove LOAD_MODULE SRPC call in SFI mode. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebased Created 6 years, 6 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/renderer/ppb_nacl_private_impl.cc
diff --git a/components/nacl/renderer/ppb_nacl_private_impl.cc b/components/nacl/renderer/ppb_nacl_private_impl.cc
index cb94ca2b79d1af199bf68446e9d240cf28a78421..89931cee6f2fb7363035b6bc05b474c17c56df3e 100644
--- a/components/nacl/renderer/ppb_nacl_private_impl.cc
+++ b/components/nacl/renderer/ppb_nacl_private_impl.cc
@@ -302,6 +302,10 @@ void LaunchSelLdr(PP_Instance instance,
CHECK(ppapi::PpapiGlobals::Get()->GetMainThreadMessageLoop()->
BelongsToCurrentThread());
+ // FIXME: Remove this.
bbudge 2014/06/30 18:28:53 Remove this.
teravest 2014/06/30 22:04:56 Done.
+ // base::PlatformFileInfo info;
+ // CHECK(GetPlatformFileInfo(nexe_file_info->handle, &info));
+
// Create the manifest service proxy here, so on error case, it will be
// destructed (without passing it to ManifestServiceChannel).
scoped_ptr<ManifestServiceChannel::Delegate> manifest_service_proxy(
@@ -343,12 +347,22 @@ void LaunchSelLdr(PP_Instance instance,
std::string error_message_string;
NaClLaunchResult launch_result;
- content::RendererPpapiHost* host =
- content::RendererPpapiHost::GetForPPInstance(instance);
+ IPC::PlatformFileForTransit nexe_for_transit;
+#if defined(OS_POSIX)
+ if (nexe_file_info->handle != PP_kInvalidFileHandle)
Mark Seaborn 2014/06/30 20:01:03 If this is false, I think it leaves nexe_for_trans
teravest 2014/06/30 22:04:56 Done.
+ nexe_for_transit = base::FileDescriptor(nexe_file_info->handle, true);
+#else
bbudge 2014/06/30 18:28:53 nit: #elif defined(OS_WIN)
teravest 2014/06/30 22:04:56 Done.
+ // Handle duplication is handled on the browser side instead of the renderer.
bbudge 2014/06/30 18:28:53 nit wording // Duplicate the handle on the browser
teravest 2014/06/30 22:04:56 Done.
+ // This is because BrokerGetFileForProcess isn't part of content/public, and
+ // it's simpler to do the duplication in the browser anyway.
+ nexe_for_transit = nexe_file_info->handle;
+#endif
if (!sender->Send(new NaClHostMsg_LaunchNaCl(
NaClLaunchParams(
instance_info.url.spec(),
- host->ShareHandleWithRemote(nexe_file_info->handle, true),
+ nexe_for_transit,
+ nexe_file_info->token_lo,
+ nexe_file_info->token_hi,
routing_id,
perm_bits,
PP_ToBool(uses_irt),

Powered by Google App Engine
This is Rietveld 408576698