Index: net/quic/quic_stream_factory.cc |
diff --git a/net/quic/quic_stream_factory.cc b/net/quic/quic_stream_factory.cc |
index f41644ca45c1fea07f7d1f7075ab1dc36314902f..df2730715bcccd6723d09813335248ba75844f05 100644 |
--- a/net/quic/quic_stream_factory.cc |
+++ b/net/quic/quic_stream_factory.cc |
@@ -156,7 +156,7 @@ QuicStreamRequest::QuicStreamRequest(QuicStreamFactory* factory) |
} |
QuicStreamRequest::~QuicStreamRequest() { |
- if (factory_) |
+ if (factory_ && !callback_.is_null()) |
factory_->CancelRequest(this); |
} |
@@ -216,7 +216,7 @@ QuicStreamFactory::QuicStreamFactory( |
HostResolver* host_resolver, |
ClientSocketFactory* client_socket_factory, |
const RandomUint64Callback& random_uint64_callback, |
- const QuicClock* clock) |
+ QuicClock* clock) |
: host_resolver_(host_resolver), |
client_socket_factory_(client_socket_factory), |
random_uint64_callback_(random_uint64_callback), |
@@ -342,7 +342,7 @@ QuicClientSession* QuicStreamFactory::CreateSession( |
QuicConnectionHelper* helper = new QuicConnectionHelper( |
MessageLoop::current()->message_loop_proxy(), |
- clock_, socket); |
+ clock_.get(), socket); |
QuicConnection* connection = new QuicConnection(guid, addr, helper); |
QuicClientSession* session = new QuicClientSession(connection, helper, this); |