| Index: webrtc/p2p/base/port_unittest.cc
 | 
| diff --git a/webrtc/p2p/base/port_unittest.cc b/webrtc/p2p/base/port_unittest.cc
 | 
| index 449021ad9fb4c78004d237bc4dd37b1d36eee599..4caa326a857b7abe80002b81fb1be00581ed383a 100644
 | 
| --- a/webrtc/p2p/base/port_unittest.cc
 | 
| +++ b/webrtc/p2p/base/port_unittest.cc
 | 
| @@ -58,6 +58,7 @@ static const SocketAddress kRelayTcpExtAddr("99.99.99.3", 5003);
 | 
|  static const SocketAddress kRelaySslTcpIntAddr("99.99.99.2", 5004);
 | 
|  static const SocketAddress kRelaySslTcpExtAddr("99.99.99.3", 5005);
 | 
|  static const SocketAddress kTurnUdpIntAddr("99.99.99.4", STUN_SERVER_PORT);
 | 
| +static const SocketAddress kTurnTcpIntAddr("99.99.99.4", 5010);
 | 
|  static const SocketAddress kTurnUdpExtAddr("99.99.99.5", 0);
 | 
|  static const RelayCredentials kRelayCredentials("test", "test");
 | 
|  
 | 
| @@ -497,19 +498,19 @@ class PortTest : public testing::Test, public sigslot::has_slots<> {
 | 
|    TurnPort* CreateTurnPort(const SocketAddress& addr,
 | 
|                             PacketSocketFactory* socket_factory,
 | 
|                             ProtocolType int_proto, ProtocolType ext_proto) {
 | 
| -    return CreateTurnPort(addr, socket_factory,
 | 
| -                          int_proto, ext_proto, kTurnUdpIntAddr);
 | 
| +    SocketAddress server_addr =
 | 
| +        int_proto == PROTO_TCP ? kTurnTcpIntAddr : kTurnUdpIntAddr;
 | 
| +    return CreateTurnPort(addr, socket_factory, int_proto, ext_proto,
 | 
| +                          server_addr);
 | 
|    }
 | 
|    TurnPort* CreateTurnPort(const SocketAddress& addr,
 | 
|                             PacketSocketFactory* socket_factory,
 | 
|                             ProtocolType int_proto, ProtocolType ext_proto,
 | 
|                             const rtc::SocketAddress& server_addr) {
 | 
| -    return TurnPort::Create(main_, socket_factory, &network_,
 | 
| -                            addr.ipaddr(), 0, 0,
 | 
| -                            username_, password_, ProtocolAddress(
 | 
| -                                server_addr, PROTO_UDP),
 | 
| -                            kRelayCredentials, 0,
 | 
| -                            std::string());
 | 
| +    return TurnPort::Create(main_, socket_factory, &network_, addr.ipaddr(), 0,
 | 
| +                            0, username_, password_,
 | 
| +                            ProtocolAddress(server_addr, int_proto),
 | 
| +                            kRelayCredentials, 0, std::string());
 | 
|    }
 | 
|    RelayPort* CreateGturnPort(const SocketAddress& addr,
 | 
|                               ProtocolType int_proto, ProtocolType ext_proto) {
 | 
| @@ -2162,6 +2163,17 @@ TEST_F(PortTest, TestCandidateFoundation) {
 | 
|    ASSERT_EQ_WAIT(1U, turnport3->Candidates().size(), kTimeout);
 | 
|    EXPECT_NE(turnport3->Candidates()[0].foundation(),
 | 
|              turnport2->Candidates()[0].foundation());
 | 
| +
 | 
| +  // Start a TCP turn server, and check that two turn candidates have
 | 
| +  // different foundations if their relay protocols are different.
 | 
| +  TestTurnServer turn_server3(rtc::Thread::Current(), kTurnTcpIntAddr,
 | 
| +                              kTurnUdpExtAddr, PROTO_TCP);
 | 
| +  rtc::scoped_ptr<Port> turnport4(
 | 
| +      CreateTurnPort(kLocalAddr1, nat_socket_factory1(), PROTO_TCP, PROTO_UDP));
 | 
| +  turnport4->PrepareAddress();
 | 
| +  ASSERT_EQ_WAIT(1U, turnport4->Candidates().size(), kTimeout);
 | 
| +  EXPECT_NE(turnport2->Candidates()[0].foundation(),
 | 
| +            turnport4->Candidates()[0].foundation());
 | 
|  }
 | 
|  
 | 
|  // This test verifies the related addresses of different types of
 | 
| 
 |