| Index: mojo/edk/embedder/embedder.cc
|
| diff --git a/mojo/edk/embedder/embedder.cc b/mojo/edk/embedder/embedder.cc
|
| index 5cf70e5f416231880109c0ea5aedaabb324b7711..41d48d4dc2ead1d69b850154d1c505bac27d8b0a 100644
|
| --- a/mojo/edk/embedder/embedder.cc
|
| +++ b/mojo/edk/embedder/embedder.cc
|
| @@ -18,8 +18,8 @@
|
| #include "mojo/edk/embedder/embedder_internal.h"
|
| #include "mojo/edk/embedder/entrypoints.h"
|
| #include "mojo/edk/embedder/platform_channel_pair.h"
|
| -#include "mojo/edk/embedder/process_delegate.h"
|
| #include "mojo/edk/system/core.h"
|
| +#include "mojo/edk/system/node_controller.h"
|
|
|
| #if !defined(OS_NACL)
|
| #include "crypto/random.h"
|
| @@ -34,7 +34,6 @@ class PlatformSupport;
|
| namespace internal {
|
|
|
| Core* g_core;
|
| -ProcessDelegate* g_process_delegate;
|
|
|
| Core* GetCore() { return g_core; }
|
|
|
| @@ -83,14 +82,12 @@ ScopedMessagePipeHandle ConnectToPeerProcess(ScopedPlatformHandle pipe) {
|
|
|
| ScopedMessagePipeHandle ConnectToPeerProcess(ScopedPlatformHandle pipe,
|
| const std::string& peer_token) {
|
| - CHECK(internal::g_process_delegate);
|
| DCHECK(pipe.is_valid());
|
| DCHECK(!peer_token.empty());
|
| return internal::g_core->ConnectToPeerProcess(std::move(pipe), peer_token);
|
| }
|
|
|
| void ClosePeerConnection(const std::string& peer_token) {
|
| - CHECK(internal::g_process_delegate);
|
| return internal::g_core->ClosePeerConnection(peer_token);
|
| }
|
|
|
| @@ -137,19 +134,18 @@ MojoResult PassSharedMemoryHandle(
|
| mojo_handle, shared_memory_handle, num_bytes, read_only);
|
| }
|
|
|
| -void InitIPCSupport(ProcessDelegate* process_delegate,
|
| - scoped_refptr<base::TaskRunner> io_thread_task_runner) {
|
| +void InitIPCSupport(scoped_refptr<base::TaskRunner> io_thread_task_runner) {
|
| CHECK(internal::g_core);
|
| internal::g_core->SetIOTaskRunner(io_thread_task_runner);
|
| - internal::g_process_delegate = process_delegate;
|
| }
|
|
|
| -void ShutdownIPCSupport() {
|
| - CHECK(internal::g_process_delegate);
|
| +scoped_refptr<base::TaskRunner> GetIOTaskRunner() {
|
| + return internal::g_core->GetNodeController()->io_task_runner();
|
| +}
|
| +
|
| +void ShutdownIPCSupport(const base::Closure& callback) {
|
| CHECK(internal::g_core);
|
| - internal::g_core->RequestShutdown(
|
| - base::Bind(&ProcessDelegate::OnShutdownComplete,
|
| - base::Unretained(internal::g_process_delegate)));
|
| + internal::g_core->RequestShutdown(callback);
|
| }
|
|
|
| #if defined(OS_MACOSX) && !defined(OS_IOS)
|
| @@ -161,18 +157,15 @@ void SetMachPortProvider(base::PortProvider* port_provider) {
|
|
|
| ScopedMessagePipeHandle CreateMessagePipe(
|
| ScopedPlatformHandle platform_handle) {
|
| - CHECK(internal::g_process_delegate);
|
| return internal::g_core->CreateMessagePipe(std::move(platform_handle));
|
| }
|
|
|
| ScopedMessagePipeHandle CreateParentMessagePipe(
|
| const std::string& token, const std::string& child_token) {
|
| - CHECK(internal::g_process_delegate);
|
| return internal::g_core->CreateParentMessagePipe(token, child_token);
|
| }
|
|
|
| ScopedMessagePipeHandle CreateChildMessagePipe(const std::string& token) {
|
| - CHECK(internal::g_process_delegate);
|
| return internal::g_core->CreateChildMessagePipe(token);
|
| }
|
|
|
|
|