mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 07:48:38 +09:00
[http] Use a copy of nsHttpConnectionInfo.
The root cause in this bug is that the connection info used by 'SpdyConnectTransaction' is the same instance as the connection info in 'nsHttpTransaction', so we should clone it and let 'SpdyConnectTransaction' use the cloned one.
This commit is contained in:
parent
11036811cb
commit
63a7c7f90e
2 changed files with 8 additions and 7 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue