icecat: add release icecat-140.10.1-1gnu1 for ecne
This commit is contained in:
parent
a5f93cb214
commit
ff85d7c623
1256 changed files with 63469 additions and 24141 deletions
|
|
@ -354,6 +354,7 @@ nsHttpChannel::nsHttpChannel() : HttpAsyncAborter<nsHttpChannel>(this) {
|
|||
}
|
||||
|
||||
nsHttpChannel::~nsHttpChannel() {
|
||||
MOZ_ASSERT(NS_IsMainThread(), "Must be released on main thread");
|
||||
PROFILER_MARKER("~nsHttpChannel", NETWORK, {}, TerminatingFlowMarker,
|
||||
Flow::FromPointer(this));
|
||||
LOG(("Destroying nsHttpChannel [this=%p, nsIChannel=%p]\n", this,
|
||||
|
|
@ -373,42 +374,11 @@ nsHttpChannel::~nsHttpChannel() {
|
|||
MOZ_ASSERT(NS_SUCCEEDED(rv));
|
||||
}
|
||||
|
||||
ReleaseMainThreadOnlyReferences();
|
||||
if (gHttpHandler) {
|
||||
gHttpHandler->RemoveHttpChannel(mChannelId);
|
||||
}
|
||||
}
|
||||
|
||||
void nsHttpChannel::ReleaseMainThreadOnlyReferences() {
|
||||
if (NS_IsMainThread()) {
|
||||
// Already on main thread, let dtor to
|
||||
// take care of releasing references
|
||||
return;
|
||||
}
|
||||
|
||||
nsTArray<nsCOMPtr<nsISupports>> arrayToRelease;
|
||||
arrayToRelease.AppendElement(mAuthProvider.forget());
|
||||
arrayToRelease.AppendElement(mRedirectChannel.forget());
|
||||
arrayToRelease.AppendElement(mPreflightChannel.forget());
|
||||
arrayToRelease.AppendElement(mDNSPrefetch.forget());
|
||||
|
||||
MOZ_DIAGNOSTIC_ASSERT(
|
||||
!mEarlyHintObserver,
|
||||
"Early hint observer should have been released in ReleaseListeners()");
|
||||
arrayToRelease.AppendElement(mEarlyHintObserver.forget());
|
||||
MOZ_DIAGNOSTIC_ASSERT(
|
||||
!mChannelClassifier,
|
||||
"Channel classifier should have been released in ReleaseListeners()");
|
||||
arrayToRelease.AppendElement(
|
||||
mChannelClassifier.forget().downcast<nsIURIClassifierCallback>());
|
||||
MOZ_DIAGNOSTIC_ASSERT(
|
||||
!mWarningReporter,
|
||||
"Warning reporter should have been released in ReleaseListeners()");
|
||||
arrayToRelease.AppendElement(mWarningReporter.forget());
|
||||
|
||||
NS_DispatchToMainThread(new ProxyReleaseRunnable(std::move(arrayToRelease)));
|
||||
}
|
||||
|
||||
nsresult nsHttpChannel::Init(nsIURI* uri, uint32_t caps, nsProxyInfo* proxyInfo,
|
||||
uint32_t proxyResolveFlags, nsIURI* proxyURI,
|
||||
uint64_t channelId,
|
||||
|
|
@ -6229,7 +6199,29 @@ NS_IMETHODIMP nsHttpChannel::ConnectionRestartable(bool aRestartable) {
|
|||
//-----------------------------------------------------------------------------
|
||||
|
||||
NS_IMPL_ADDREF_INHERITED(nsHttpChannel, HttpBaseChannel)
|
||||
NS_IMPL_RELEASE_INHERITED(nsHttpChannel, HttpBaseChannel)
|
||||
bool nsHttpChannel::DispatchRelease() {
|
||||
if (NS_IsMainThread()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
NS_DispatchToMainThread(
|
||||
NewNonOwningRunnableMethod("net::nsHttpChannel::Release", this,
|
||||
&nsHttpChannel::Release),
|
||||
NS_DISPATCH_NORMAL);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP_(MozExternalRefCountType)
|
||||
nsHttpChannel::Release() {
|
||||
nsrefcnt count = mRefCnt - 1;
|
||||
if (DispatchRelease()) {
|
||||
// Redispatched to the main thread.
|
||||
return count;
|
||||
}
|
||||
|
||||
NS_IMPL_RELEASE_INHERITED_GUTS(nsHttpChannel, HttpBaseChannel);
|
||||
}
|
||||
|
||||
NS_INTERFACE_MAP_BEGIN(nsHttpChannel)
|
||||
NS_INTERFACE_MAP_ENTRY(nsIRequest)
|
||||
|
|
@ -6661,6 +6653,10 @@ nsHttpChannel::GetSecurityInfo(nsITransportSecurityInfo** securityInfo) {
|
|||
// any error.
|
||||
NS_IMETHODIMP
|
||||
nsHttpChannel::AsyncOpen(nsIStreamListener* aListener) {
|
||||
// doContentSecurityCheck and OnOpeningRequest fire observers that may
|
||||
// spin nested event loops; hold a strong ref to this.
|
||||
RefPtr<nsHttpChannel> self(this);
|
||||
|
||||
AUTO_PROFILER_FLOW_MARKER("nsHttpChannel::AsyncOpen", NETWORK,
|
||||
Flow::FromPointer(this));
|
||||
nsCOMPtr<nsIStreamListener> listener = aListener;
|
||||
|
|
@ -11322,9 +11318,11 @@ nsHttpChannel::EarlyHint(const nsACString& aLinkHeader,
|
|||
const nsACString& aCspHeader) {
|
||||
LOG(("nsHttpChannel::EarlyHint.\n"));
|
||||
|
||||
if (mEarlyHintObserver && nsContentUtils::ComputeIsSecureContext(this)) {
|
||||
LOG(("nsHttpChannel::EarlyHint propagated.\n"));
|
||||
mEarlyHintObserver->EarlyHint(aLinkHeader, aReferrerPolicy, aCspHeader);
|
||||
if (nsCOMPtr<nsIEarlyHintObserver> obs = mEarlyHintObserver) {
|
||||
if (nsContentUtils::ComputeIsSecureContext(this)) {
|
||||
LOG(("nsHttpChannel::EarlyHint propagated.\n"));
|
||||
obs->EarlyHint(aLinkHeader, aReferrerPolicy, aCspHeader);
|
||||
}
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue