Index: remoting/host/it2me/it2me_native_messaging_host_main.cc |
diff --git a/remoting/host/it2me/it2me_native_messaging_host_main.cc b/remoting/host/it2me/it2me_native_messaging_host_main.cc |
index 25f5021a2b0447d7ca60c22ea9a45e18618f7435..9d7643e3ee5676e11ce99b91ac2ee846c84e2a03 100644 |
--- a/remoting/host/it2me/it2me_native_messaging_host_main.cc |
+++ b/remoting/host/it2me/it2me_native_messaging_host_main.cc |
@@ -16,6 +16,7 @@ |
#include "remoting/host/host_exit_codes.h" |
#include "remoting/host/it2me/it2me_native_messaging_host.h" |
#include "remoting/host/logging.h" |
+#include "remoting/host/native_messaging/native_messaging_pipe.h" |
#include "remoting/host/native_messaging/pipe_messaging_channel.h" |
#include "remoting/host/usage_stats_consent.h" |
@@ -117,13 +118,22 @@ int StartIt2MeNativeMessagingHost() { |
scoped_ptr<It2MeHostFactory> factory(new It2MeHostFactory()); |
+ scoped_ptr<NativeMessagingPipe> native_messaging_pipe( |
+ new NativeMessagingPipe()); |
+ |
// Set up the native messaging channel. |
scoped_ptr<extensions::NativeMessagingChannel> channel( |
new PipeMessagingChannel(read_file.Pass(), write_file.Pass())); |
- scoped_ptr<It2MeNativeMessagingHost> host(new It2MeNativeMessagingHost( |
- task_runner, channel.Pass(), factory.Pass())); |
- host->Start(run_loop.QuitClosure()); |
+ scoped_ptr<extensions::NativeMessageHost> host(new It2MeNativeMessagingHost( |
+ task_runner, |
+ factory.Pass())); |
+ |
+ host->set_client(native_messaging_pipe->AsWeakPtr()); |
+ |
+ native_messaging_pipe->Init(host.Pass(), channel.Pass()); |
+ |
+ native_messaging_pipe->Start(run_loop.QuitClosure()); |
// Run the loop until channel is alive. |
run_loop.Run(); |