Index: mojo/edk/embedder/embedder.cc |
diff --git a/mojo/edk/embedder/embedder.cc b/mojo/edk/embedder/embedder.cc |
index d1ab6c69d692be9f640bfb2df356fad29aa6531e..926ee18f7883856ea72753e2256c4506c0e90492 100644 |
--- a/mojo/edk/embedder/embedder.cc |
+++ b/mojo/edk/embedder/embedder.cc |
@@ -107,29 +107,37 @@ void ShutdownIPCSupport() { |
ScopedMessagePipeHandle CreateMessagePipe( |
ScopedPlatformHandle platform_handle) { |
- NOTREACHED(); |
- return ScopedMessagePipeHandle(); |
+ DCHECK(internal::g_core); |
+ return internal::g_core->CreateMessagePipe(std::move(platform_handle)); |
} |
void CreateMessagePipe( |
ScopedPlatformHandle platform_handle, |
const base::Callback<void(ScopedMessagePipeHandle)>& callback) { |
DCHECK(internal::g_core); |
- internal::g_core->CreateMessagePipe(std::move(platform_handle), callback); |
+ callback.Run(CreateMessagePipe(std::move(platform_handle))); |
+} |
+ |
+ScopedMessagePipeHandle CreateParentMessagePipe(const std::string& token) { |
+ DCHECK(internal::g_core); |
+ return internal::g_core->CreateParentMessagePipe(token); |
} |
void CreateParentMessagePipe( |
const std::string& token, |
const base::Callback<void(ScopedMessagePipeHandle)>& callback) { |
+ callback.Run(CreateParentMessagePipe(token)); |
+} |
+ |
+ScopedMessagePipeHandle CreateChildMessagePipe(const std::string& token) { |
DCHECK(internal::g_core); |
- internal::g_core->CreateParentMessagePipe(token, callback); |
+ return internal::g_core->CreateChildMessagePipe(token); |
} |
void CreateChildMessagePipe( |
const std::string& token, |
const base::Callback<void(ScopedMessagePipeHandle)>& callback) { |
- DCHECK(internal::g_core); |
- internal::g_core->CreateChildMessagePipe(token, callback); |
+ callback.Run(CreateChildMessagePipe(token)); |
} |
std::string GenerateRandomToken() { |