| Index: mojo/edk/embedder/embedder.cc
|
| diff --git a/mojo/edk/embedder/embedder.cc b/mojo/edk/embedder/embedder.cc
|
| index d581e65381e676f40a647e338bd1da7c4695b5b9..5b9913abfbc64914e193944b9d9a000cc1062acb 100644
|
| --- a/mojo/edk/embedder/embedder.cc
|
| +++ b/mojo/edk/embedder/embedder.cc
|
| @@ -21,6 +21,14 @@
|
| #include "mojo/edk/system/core.h"
|
| #include "mojo/edk/system/node_controller.h"
|
|
|
| +#if defined(OS_ANDROID)
|
| +#include "base/android/global_object_registry.h"
|
| +#include "base/android/jni_android.h"
|
| +#include "base/android/parcelable_channel_client.h"
|
| +#include "base/android/parcelable_channel_server.h"
|
| +#include "base/android/scoped_java_ref.h"
|
| +#endif
|
| +
|
| #if !defined(OS_NACL)
|
| #include "crypto/random.h"
|
| #endif
|
| @@ -31,6 +39,13 @@ namespace edk {
|
| class Core;
|
| class PlatformSupport;
|
|
|
| +namespace {
|
| +#if defined(OS_ANDROID)
|
| +const int kParcelableChannelClientID = 1;
|
| +const int kParcelableChannelServerID = 2;
|
| +#endif
|
| +} // namespace
|
| +
|
| namespace internal {
|
|
|
| Core* g_core;
|
| @@ -44,7 +59,22 @@ void SetMaxMessageSize(size_t bytes) {
|
|
|
| void SetParentPipeHandle(ScopedPlatformHandle pipe) {
|
| CHECK(internal::g_core);
|
| - internal::g_core->InitChild(std::move(pipe));
|
| +#if defined(OS_ANDROID)
|
| + base::android::GlobalObjectRegistry* object_registry =
|
| + base::android::GlobalObjectRegistry::GetInstance();
|
| +
|
| + base::android::ParcelableChannelClient parcelable_channel_client(
|
| + object_registry->Take(kParcelableChannelClientID));
|
| + base::android::ParcelableChannelServer parcelable_channel_server(
|
| + object_registry->Take(kParcelableChannelServerID));
|
| +
|
| + ConnectionParam connection_param(std::move(pipe),
|
| + std::move(parcelable_channel_client),
|
| + std::move(parcelable_channel_server));
|
| +#else
|
| + ConnectionParam connection_param(std::move(pipe));
|
| +#endif
|
| + internal::g_core->InitChild(std::move(connection_param));
|
| }
|
|
|
| void SetParentPipeHandleFromCommandLine() {
|
|
|