зеркало из https://github.com/mozilla/gecko-dev.git
Bug 621446 - Crash [@ mozilla::net::HttpChannelParent::RecvRedirect2Verify ], r=jduell
This commit is contained in:
Родитель
0cd84daf15
Коммит
44c6a064f2
|
@ -330,16 +330,6 @@ HttpChannelParent::RecvUpdateAssociatedContentSecurity(const PRInt32& high,
|
|||
return true;
|
||||
}
|
||||
|
||||
// Bug 621446 investigation, we don't want conditional PR_Aborts below to be
|
||||
// merged to a single address.
|
||||
#ifdef _MSC_VER
|
||||
#pragma warning(disable : 4068)
|
||||
#endif
|
||||
#ifdef ANDROID
|
||||
// Compiling this with GCC <= 4.4 fails with an internal compiler error
|
||||
#pragma GCC optimize ("O0")
|
||||
#endif
|
||||
|
||||
bool
|
||||
HttpChannelParent::RecvRedirect2Verify(const nsresult& result,
|
||||
const RequestHeaderTuples& changedHeaders)
|
||||
|
@ -358,29 +348,32 @@ HttpChannelParent::RecvRedirect2Verify(const nsresult& result,
|
|||
}
|
||||
|
||||
if (!mRedirectCallback) {
|
||||
// Bug 621446 investigation (optimization turned off above)
|
||||
// This should according the logic never happen, log the situation.
|
||||
if (mReceivedRedirect2Verify)
|
||||
NS_RUNTIMEABORT("Duplicate fire");
|
||||
LOG(("RecvRedirect2Verify[%p]: Duplicate fire", this));
|
||||
if (mSentRedirect1BeginFailed)
|
||||
NS_RUNTIMEABORT("Send to child failed");
|
||||
LOG(("RecvRedirect2Verify[%p]: Send to child failed", this));
|
||||
if (mSentRedirect1Begin && NS_FAILED(result))
|
||||
NS_RUNTIMEABORT("Redirect failed");
|
||||
LOG(("RecvRedirect2Verify[%p]: Redirect failed", this));
|
||||
if (mSentRedirect1Begin && NS_SUCCEEDED(result))
|
||||
NS_RUNTIMEABORT("Redirect succeeded");
|
||||
LOG(("RecvRedirect2Verify[%p]: Redirect succeeded", this));
|
||||
if (!mRedirectChannel)
|
||||
NS_RUNTIMEABORT("Missing redirect channel");
|
||||
LOG(("RecvRedirect2Verify[%p]: Missing redirect channel", this));
|
||||
|
||||
NS_ERROR("Unexpcted call to HttpChannelParent::RecvRedirect2Verify, "
|
||||
"mRedirectCallback null");
|
||||
}
|
||||
|
||||
mReceivedRedirect2Verify = true;
|
||||
|
||||
mRedirectCallback->OnRedirectVerifyCallback(result);
|
||||
mRedirectCallback = nsnull;
|
||||
if (mRedirectCallback) {
|
||||
mRedirectCallback->OnRedirectVerifyCallback(result);
|
||||
mRedirectCallback = nsnull;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// Bug 621446 investigation
|
||||
#pragma GCC reset_options
|
||||
|
||||
bool
|
||||
HttpChannelParent::RecvDocumentChannelCleanup()
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче