| Index: remoting/protocol/fake_stream_socket.cc
 | 
| diff --git a/remoting/protocol/fake_stream_socket.cc b/remoting/protocol/fake_stream_socket.cc
 | 
| index b857ca1a1546c992a994a6972f430f651c9c60e4..12b771229b19d41b269b9e17f345c2c600d51c85 100644
 | 
| --- a/remoting/protocol/fake_stream_socket.cc
 | 
| +++ b/remoting/protocol/fake_stream_socket.cc
 | 
| @@ -169,12 +169,24 @@ FakeStreamSocket* FakeStreamChannelFactory::GetFakeChannel(
 | 
|    return channels_[name].get();
 | 
|  }
 | 
|  
 | 
| +void FakeStreamChannelFactory::PairWith(
 | 
| +    FakeStreamChannelFactory* peer_factory) {
 | 
| +  peer_factory_ = peer_factory->weak_factory_.GetWeakPtr();
 | 
| +  peer_factory->peer_factory_ = weak_factory_.GetWeakPtr();
 | 
| +}
 | 
| +
 | 
|  void FakeStreamChannelFactory::CreateChannel(
 | 
|      const std::string& name,
 | 
|      const ChannelCreatedCallback& callback) {
 | 
|    scoped_ptr<FakeStreamSocket> channel(new FakeStreamSocket());
 | 
|    channels_[name] = channel->GetWeakPtr();
 | 
|  
 | 
| +  if (peer_factory_) {
 | 
| +    FakeStreamSocket* peer_channel = peer_factory_->GetFakeChannel(name);
 | 
| +    if (peer_channel)
 | 
| +      channel->PairWith(peer_channel);
 | 
| +  }
 | 
| +
 | 
|    if (fail_create_)
 | 
|      channel.reset();
 | 
|  
 | 
| 
 |