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

Unified Diff: mojo/edk/system/node_controller.cc

Issue 2039713004: [mojo-edk] Make the Mojo EDK compile under NaCl. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address comments Created 4 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
« no previous file with comments | « mojo/edk/system/node_controller.h ('k') | mojo/mojo_edk_nacl.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/edk/system/node_controller.cc
diff --git a/mojo/edk/system/node_controller.cc b/mojo/edk/system/node_controller.cc
index e106063f971e5be9450ab0a8da8eae8365f12ea5..eaf406198d3ef293f1d37a6a997c4e426589c7f0 100644
--- a/mojo/edk/system/node_controller.cc
+++ b/mojo/edk/system/node_controller.cc
@@ -14,9 +14,9 @@
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram_macros.h"
#include "base/process/process_handle.h"
+#include "base/rand_util.h"
#include "base/time/time.h"
#include "base/timer/elapsed_timer.h"
-#include "crypto/random.h"
#include "mojo/edk/embedder/embedder_internal.h"
#include "mojo/edk/embedder/platform_channel_pair.h"
#include "mojo/edk/system/broker.h"
@@ -28,13 +28,22 @@
#include "mojo/edk/system/mach_port_relay.h"
#endif
+#if !defined(OS_NACL)
+#include "crypto/random.h"
+#endif
+
namespace mojo {
namespace edk {
namespace {
+#if defined(OS_NACL)
+template <typename T>
+void GenerateRandomName(T* out) { base::RandBytes(out, sizeof(T)); }
+#else
template <typename T>
void GenerateRandomName(T* out) { crypto::RandBytes(out, sizeof(T)); }
+#endif
ports::NodeName GetRandomNodeName() {
ports::NodeName name;
@@ -142,7 +151,7 @@ void NodeController::ConnectToChild(base::ProcessHandle process_handle,
void NodeController::ConnectToParent(ScopedPlatformHandle platform_handle) {
// TODO(amistry): Consider the need for a broker on Windows.
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_NACL)
// On posix, use the bootstrap channel for the broker and receive the node's
// channel synchronously as the first message from the broker.
base::ElapsedTimer timer;
@@ -237,7 +246,7 @@ int NodeController::MergeLocalPorts(const ports::PortRef& port0,
scoped_refptr<PlatformSharedBuffer> NodeController::CreateSharedBuffer(
size_t num_bytes) {
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_NACL)
// Shared buffer creation failure is fatal, so always use the broker when we
// have one. This does mean that a non-root process that has children will use
// the broker for shared buffer creation even though that process is
@@ -264,7 +273,7 @@ void NodeController::ConnectToChildOnIOThread(
ScopedPlatformHandle platform_handle) {
DCHECK(io_task_runner_->RunsTasksOnCurrentThread());
-#if defined(OS_POSIX) && !defined(OS_MACOSX)
+#if defined(OS_POSIX) && !defined(OS_MACOSX) && !defined(OS_NACL)
PlatformChannelPair node_channel;
// BrokerHost owns itself.
BrokerHost* broker_host = new BrokerHost(std::move(platform_handle));
« no previous file with comments | « mojo/edk/system/node_controller.h ('k') | mojo/mojo_edk_nacl.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698