summaryrefslogtreecommitdiffstats
path: root/remoting/test
diff options
context:
space:
mode:
authorsergeyu <sergeyu@chromium.org>2016-01-27 19:07:24 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-28 03:09:12 +0000
commit19cd0018c69864050567700e88f02c2280b4995c (patch)
treef98e3e45cc2dfdf7f6253c9fbf08ef0fa92cba80 /remoting/test
parentbb2a2abb3b6bc825e7fb1163c93b785f2ecd5696 (diff)
downloadchromium_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.cc10
-rw-r--r--remoting/test/fake_port_allocator.h8
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);
};