Bug 621446 - Crash [@ mozilla::net::HttpChannelParent::RecvRedirect2Verify ], r=jduell

This commit is contained in:
Honza Bambas 2012-05-15 16:44:25 +02:00
Родитель 0cd84daf15
Коммит 44c6a064f2
1 изменённых файлов: 14 добавлений и 21 удалений

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

@ -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()
{