[http] Use a copy of nsHttpConnectionInfo.
parent
8391e57b27
commit
c06c3fab9b
|
@ -3531,17 +3531,18 @@ Http2Session::UnRegisterTunnel(Http2Stream *aTunnel)
|
|||
}
|
||||
|
||||
void
|
||||
Http2Session::CreateTunnel(nsHttpTransaction *trans,
|
||||
nsHttpConnectionInfo *ci,
|
||||
nsIInterfaceRequestor *aCallbacks)
|
||||
Http2Session::CreateTunnel(nsHttpTransaction* trans,
|
||||
nsHttpConnectionInfo* ci,
|
||||
nsIInterfaceRequestor* aCallbacks)
|
||||
{
|
||||
LOG(("Http2Session::CreateTunnel %p %p make new tunnel\n", this, trans));
|
||||
// The connect transaction will hold onto the underlying http
|
||||
// transaction so that an auth created by the connect can be mappped
|
||||
// to the correct security callbacks
|
||||
|
||||
RefPtr<nsHttpConnectionInfo> clone(ci->Clone());
|
||||
RefPtr<SpdyConnectTransaction> connectTrans =
|
||||
new SpdyConnectTransaction(ci, aCallbacks, trans->Caps(), trans, this);
|
||||
new SpdyConnectTransaction(clone, aCallbacks, trans->Caps(), trans, this);
|
||||
AddStream(connectTrans, nsISupportsPriority::PRIORITY_NORMAL, false, nullptr);
|
||||
Http2Stream *tunnel = mStreamTransactionHash.Get(connectTrans);
|
||||
MOZ_ASSERT(tunnel);
|
||||
|
|
|
@ -2030,9 +2030,9 @@ nsHttpTransaction::DisableSpdy()
|
|||
{
|
||||
mCaps |= NS_HTTP_DISALLOW_SPDY;
|
||||
if (mConnInfo) {
|
||||
// This is our clone of the connection info, not the persistent one that
|
||||
// is owned by the connection manager, so we're safe to change this here
|
||||
mConnInfo->SetNoSpdy(true);
|
||||
RefPtr<nsHttpConnectionInfo> connInfo = mConnInfo->Clone();
|
||||
connInfo->SetNoSpdy(true);
|
||||
mConnInfo.swap(connInfo);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue