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

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

Issue 177113009: Support non-SFI mode in NaCl manifest file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 6 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
Index: components/nacl/browser/nacl_host_message_filter.cc
diff --git a/components/nacl/browser/nacl_host_message_filter.cc b/components/nacl/browser/nacl_host_message_filter.cc
index 13498d758c918a1b8bbad356cbe9dc05a2570326..52c315e1628671b3e90dd1ece3964581adf6f6f4 100644
--- a/components/nacl/browser/nacl_host_message_filter.cc
+++ b/components/nacl/browser/nacl_host_message_filter.cc
@@ -4,12 +4,14 @@
#include "components/nacl/browser/nacl_host_message_filter.h"
+#include "base/command_line.h"
#include "base/sys_info.h"
#include "components/nacl/browser/nacl_browser.h"
#include "components/nacl/browser/nacl_file_host.h"
#include "components/nacl/browser/nacl_process_host.h"
#include "components/nacl/browser/pnacl_host.h"
#include "components/nacl/common/nacl_host_messages.h"
+#include "components/nacl/common/nacl_switches.h"
#include "ipc/ipc_platform_file.h"
#include "net/url_request/url_request_context.h"
#include "net/url_request/url_request_context_getter.h"
@@ -57,6 +59,8 @@ bool NaClHostMessageFilter::OnMessageReceived(const IPC::Message& message,
OnOpenNaClExecutable)
IPC_MESSAGE_HANDLER(NaClHostMsg_NaClGetNumProcessors,
OnNaClGetNumProcessors)
+ IPC_MESSAGE_HANDLER(NaClHostMsg_NaClIsNonSFIEnabled,
+ OnNaClIsNonSFIEnabled)
#endif
IPC_MESSAGE_UNHANDLED(handled = false)
IPC_END_MESSAGE_MAP()
@@ -77,6 +81,7 @@ void NaClHostMessageFilter::OnLaunchNaCl(
launch_params.render_view_id,
launch_params.permission_bits,
launch_params.uses_irt,
+ launch_params.uses_nonsfi_mode,
launch_params.enable_dyncode_syscalls,
launch_params.enable_exception_handling,
launch_params.enable_crash_throttling,
@@ -138,10 +143,20 @@ void NaClHostMessageFilter::AsyncReturnTemporaryFile(
IPC::GetFileHandleForProcess(fd, PeerHandle(), false)));
}
-void NaClHostMessageFilter::OnNaClGetNumProcessors(int *num_processors) {
+void NaClHostMessageFilter::OnNaClGetNumProcessors(int* num_processors) {
*num_processors = base::SysInfo::NumberOfProcessors();
}
+void NaClHostMessageFilter::OnNaClIsNonSFIEnabled(bool* enabled) {
+#if defined(OS_LINUX)
+ // NonSFI mode is currently available only on Linux platform.
+ *enabled = CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kEnableNaClNonSfiMode);
+#else
+ *enabled = false;
+#endif
+}
+
void NaClHostMessageFilter::OnGetNexeFd(
int render_view_id,
int pp_instance,

Powered by Google App Engine
This is Rietveld 408576698