diff options
author | sergeyu <sergeyu@chromium.org> | 2016-01-27 19:07:24 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-01-28 03:09:12 +0000 |
commit | 19cd0018c69864050567700e88f02c2280b4995c (patch) | |
tree | f98e3e45cc2dfdf7f6253c9fbf08ef0fa92cba80 /remoting/test | |
parent | bb2a2abb3b6bc825e7fb1163c93b785f2ecd5696 (diff) | |
download | chromium_src-19cd0018c69864050567700e88f02c2280b4995c.zip chromium_src-19cd0018c69864050567700e88f02c2280b4995c.tar.gz chromium_src-19cd0018c69864050567700e88f02c2280b4995c.tar.bz2 |
Fix FakePortAllocator to keep reference to TransportContext.
Previously FakePortAllocator didn't keep reference to TransportContext
which was causing it to be destructed prematurely and crashing
remoting_perftests.
Review URL: https://codereview.chromium.org/1644593003
Cr-Commit-Position: refs/heads/master@{#371980}
Diffstat (limited to 'remoting/test')
-rw-r--r-- | remoting/test/fake_port_allocator.cc | 10 | ||||
-rw-r--r-- | remoting/test/fake_port_allocator.h | 8 |
2 files changed, 12 insertions, 6 deletions
diff --git a/remoting/test/fake_port_allocator.cc b/remoting/test/fake_port_allocator.cc index 65d9047..49db553 100644 --- a/remoting/test/fake_port_allocator.cc +++ b/remoting/test/fake_port_allocator.cc @@ -46,8 +46,10 @@ FakePortAllocatorSession::~FakePortAllocatorSession() {} FakePortAllocator::FakePortAllocator( rtc::NetworkManager* network_manager, - rtc::PacketSocketFactory* socket_factory) - : BasicPortAllocator(network_manager, socket_factory) { + rtc::PacketSocketFactory* socket_factory, + scoped_refptr<protocol::TransportContext> transport_context) + : BasicPortAllocator(network_manager, socket_factory), + transport_context_(transport_context) { set_flags(cricket::PORTALLOCATOR_DISABLE_TCP | cricket::PORTALLOCATOR_ENABLE_SHARED_UFRAG | cricket::PORTALLOCATOR_ENABLE_IPV6 | @@ -78,8 +80,8 @@ FakePortAllocatorFactory::~FakePortAllocatorFactory() {} scoped_ptr<cricket::PortAllocator> FakePortAllocatorFactory::CreatePortAllocator( scoped_refptr<protocol::TransportContext> transport_context) { - return make_scoped_ptr( - new FakePortAllocator(network_manager_.get(), socket_factory_.get())); + return make_scoped_ptr(new FakePortAllocator( + network_manager_.get(), socket_factory_.get(), transport_context)); } } // namespace remoting diff --git a/remoting/test/fake_port_allocator.h b/remoting/test/fake_port_allocator.h index ed2e095..cc5e6eb 100644 --- a/remoting/test/fake_port_allocator.h +++ b/remoting/test/fake_port_allocator.h @@ -20,8 +20,10 @@ class FakePacketSocketFactory; class FakePortAllocator : public cricket::BasicPortAllocator { public: - FakePortAllocator(rtc::NetworkManager* network_manager, - rtc::PacketSocketFactory* socket_factory); + FakePortAllocator( + rtc::NetworkManager* network_manager, + rtc::PacketSocketFactory* socket_factory, + scoped_refptr<protocol::TransportContext> transport_context_); ~FakePortAllocator() override; // cricket::BasicPortAllocator overrides. @@ -32,6 +34,8 @@ class FakePortAllocator : public cricket::BasicPortAllocator { const std::string& ice_password) override; private: + scoped_refptr<protocol::TransportContext> transport_context_; + DISALLOW_COPY_AND_ASSIGN(FakePortAllocator); }; |