summaryrefslogtreecommitdiffstats
path: root/netwerk/protocol/http
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-11-20 09:47:03 +0000
committerMoonchild <moonchild@palemoon.org>2020-11-20 09:47:03 +0000
commit5165ed02285315cc0bed7977c7bac6d0a90ca43c (patch)
tree9b761a21eb924915e51c2d803208e6c01b505a45 /netwerk/protocol/http
parente1db27e19989db11fef70f439cf95821316535b3 (diff)
parentca9abcdf1702c37bf00048dab3f460b2252873a3 (diff)
downloadUXP-RELBASE_20201120.tar
UXP-RELBASE_20201120.tar.gz
UXP-RELBASE_20201120.tar.lz
UXP-RELBASE_20201120.tar.xz
UXP-RELBASE_20201120.zip
Merge branch 'redwood' into releaseRELBASE_20201124RELBASE_20201120RC_20201120
Diffstat (limited to 'netwerk/protocol/http')
-rw-r--r--netwerk/protocol/http/Http2Session.cpp9
-rw-r--r--netwerk/protocol/http/nsHttpTransaction.cpp6
2 files changed, 8 insertions, 7 deletions
diff --git a/netwerk/protocol/http/Http2Session.cpp b/netwerk/protocol/http/Http2Session.cpp
index 726b39f74..3dc79c854 100644
--- a/netwerk/protocol/http/Http2Session.cpp
+++ b/netwerk/protocol/http/Http2Session.cpp
@@ -3532,17 +3532,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);
diff --git a/netwerk/protocol/http/nsHttpTransaction.cpp b/netwerk/protocol/http/nsHttpTransaction.cpp
index 76e0a4ad9..e7f3ca0ef 100644
--- a/netwerk/protocol/http/nsHttpTransaction.cpp
+++ b/netwerk/protocol/http/nsHttpTransaction.cpp
@@ -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);
}
}