bug 910518 - check httpchannel for listener release on redirect callback r=jduell

--HG--
extra : rebase_source : 36a8adb0f863f01576b0991f10a0252e708f49e2
This commit is contained in:
Patrick McManus 2013-09-05 16:20:15 -04:00
Родитель 210ba12d7c
Коммит 6b4807d182
1 изменённых файлов: 13 добавлений и 3 удалений

Просмотреть файл

@ -1005,8 +1005,14 @@ nsHttpChannel::CallOnStartRequest()
} }
LOG((" calling mListener->OnStartRequest\n")); LOG((" calling mListener->OnStartRequest\n"));
nsresult rv = mListener->OnStartRequest(this, mListenerContext); nsresult rv;
if (NS_FAILED(rv)) return rv; if (mListener) {
nsresult rv = mListener->OnStartRequest(this, mListenerContext);
if (NS_FAILED(rv))
return rv;
} else {
NS_WARNING("OnStartRequest skipped because of null listener");
}
// install stream converter if required // install stream converter if required
rv = ApplyContentConversions(); rv = ApplyContentConversions();
@ -5194,7 +5200,11 @@ nsHttpChannel::OnStopRequest(nsIRequest *request, nsISupports *ctxt, nsresult st
MOZ_ASSERT(NS_FAILED(status), "should have a failure code here"); MOZ_ASSERT(NS_FAILED(status), "should have a failure code here");
// NOTE: since we have a failure status, we can ignore the return // NOTE: since we have a failure status, we can ignore the return
// value from onStartRequest. // value from onStartRequest.
mListener->OnStartRequest(this, mListenerContext); if (mListener) {
mListener->OnStartRequest(this, mListenerContext);
} else {
NS_WARNING("OnStartRequest skipped because of null listener");
}
} }
// if this transaction has been replaced, then bail. // if this transaction has been replaced, then bail.