Index: ipc/mojo/ipc_channel_mojo.cc |
diff --git a/ipc/mojo/ipc_channel_mojo.cc b/ipc/mojo/ipc_channel_mojo.cc |
index e61a90e6851bab3f2e983df7d17c37a6dada544f..b5c452990e7b559af5ed9f28f7af9331e9582ab6 100644 |
--- a/ipc/mojo/ipc_channel_mojo.cc |
+++ b/ipc/mojo/ipc_channel_mojo.cc |
@@ -83,7 +83,7 @@ ChannelMojo::ChannelMojo(ChannelMojoHost* host, |
const ChannelHandle& handle, |
Mode mode, |
Listener* listener) |
- : host_(host), |
+ : host_(host ? host->ToWeakPtr() : base::WeakPtr<ChannelMojoHost>()), |
viettrungluu
2014/09/25 19:38:34
Maybe it's better to just do in the body:
if (hos
Hajime Morrita
2014/09/25 22:00:03
Done.
|
mode_(mode), |
listener_(listener), |
peer_pid_(base::kNullProcessId), |
@@ -92,14 +92,11 @@ ChannelMojo::ChannelMojo(ChannelMojoHost* host, |
// ChannelMojo from a different thread. |
bootstrap_ = MojoBootstrap::Create(handle, mode, this); |
if (host_) |
- host_->OnChannelCreated(this); |
+ host_->OnChannelCreated(weak_factory_.GetWeakPtr()); |
} |
ChannelMojo::~ChannelMojo() { |
Close(); |
- |
- if (host_) |
- host_->OnChannelDestroyed(); |
} |
void ChannelMojo::InitControlReader( |