diff -r df9c4a6e84f8 -r 7d934b2f5014 mozilla-revert_621446.patch --- a/mozilla-revert_621446.patch Wed Apr 25 13:47:56 2012 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,148 +0,0 @@ -# HG changeset patch -# Parent 8da41a2cee774ce4d00b9ac1032a495b8bc560a0 -Revert investigation patch for bmo#621446; as it is useless on desktop and breaks the build for certain compilers - -diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp ---- a/netwerk/protocol/http/HttpChannelParent.cpp -+++ b/netwerk/protocol/http/HttpChannelParent.cpp -@@ -52,29 +52,25 @@ - #include "nsIBadCertListener2.h" - #include "nsICacheEntryDescriptor.h" - #include "nsSerializationHelper.h" - #include "nsISerializable.h" - #include "nsIAssociatedContentSecurity.h" - #include "nsIApplicationCacheService.h" - #include "nsIOfflineCacheUpdate.h" - #include "nsIRedirectChannelRegistrar.h" --#include "prinit.h" - - namespace mozilla { - namespace net { - - HttpChannelParent::HttpChannelParent(PBrowserParent* iframeEmbedding) - : mIPCClosed(false) - , mStoredStatus(0) - , mStoredProgress(0) - , mStoredProgressMax(0) -- , mSentRedirect1Begin(false) -- , mSentRedirect1BeginFailed(false) -- , mReceivedRedirect2Verify(false) - { - // Ensure gHttpHandler is initialized: we need the atom table up and running. - nsIHttpProtocolHandler* handler; - CallGetService(NS_NETWORK_PROTOCOL_CONTRACTID_PREFIX "http", &handler); - NS_ASSERTION(handler, "no http handler"); - - mTabParent = do_QueryObject(static_cast(iframeEmbedding)); - } -@@ -326,21 +322,16 @@ HttpChannelParent::RecvUpdateAssociatedC - mAssociatedContentSecurity->SetCountSubRequestsHighSecurity(high); - mAssociatedContentSecurity->SetCountSubRequestsLowSecurity(low); - mAssociatedContentSecurity->SetCountSubRequestsBrokenSecurity(broken); - mAssociatedContentSecurity->SetCountSubRequestsNoSecurity(no); - } - return true; - } - --// Bug 621446 investigation, we don't want conditional PR_Aborts bellow to be --// merged to a single address. --#pragma warning(disable : 4068) --#pragma GCC optimize ("O0") -- - bool - HttpChannelParent::RecvRedirect2Verify(const nsresult& result, - const RequestHeaderTuples& changedHeaders) - { - if (NS_SUCCEEDED(result)) { - nsCOMPtr newHttpChannel = - do_QueryInterface(mRedirectChannel); - -@@ -348,40 +339,21 @@ HttpChannelParent::RecvRedirect2Verify(c - for (PRUint32 i = 0; i < changedHeaders.Length(); i++) { - newHttpChannel->SetRequestHeader(changedHeaders[i].mHeader, - changedHeaders[i].mValue, - changedHeaders[i].mMerge); - } - } - } - -- if (!mRedirectCallback) { -- // Bug 621446 investigation (optimization turned off above) -- if (mReceivedRedirect2Verify) -- NS_RUNTIMEABORT("Duplicate fire"); -- if (mSentRedirect1BeginFailed) -- NS_RUNTIMEABORT("Send to child failed"); -- if (mSentRedirect1Begin && NS_FAILED(result)) -- NS_RUNTIMEABORT("Redirect failed"); -- if (mSentRedirect1Begin && NS_SUCCEEDED(result)) -- NS_RUNTIMEABORT("Redirect succeeded"); -- if (!mRedirectChannel) -- NS_RUNTIMEABORT("Missing redirect channel"); -- } -- -- mReceivedRedirect2Verify = true; -- - mRedirectCallback->OnRedirectVerifyCallback(result); - mRedirectCallback = nsnull; - return true; - } - --// Bug 621446 investigation --#pragma GCC reset_options -- - bool - HttpChannelParent::RecvDocumentChannelCleanup() - { - // From now on only using mAssociatedContentSecurity. Free everything else. - mChannel = 0; // Reclaim some memory sooner. - mCacheDescriptor = 0; // Else we'll block other channels reading same URI - return true; - } -@@ -583,24 +555,18 @@ HttpChannelParent::StartRedirect(PRUint3 - - nsHttpChannel *httpChan = static_cast(mChannel.get()); - nsHttpResponseHead *responseHead = httpChan->GetResponseHead(); - bool result = SendRedirect1Begin(newChannelId, - IPC::URI(newURI), - redirectFlags, - responseHead ? *responseHead - : nsHttpResponseHead()); -- if (!result) { -- // Bug 621446 investigation -- mSentRedirect1BeginFailed = true; -+ if (!result) - return NS_BINDING_ABORTED; -- } -- -- // Bug 621446 investigation -- mSentRedirect1Begin = true; - - // Result is handled in RecvRedirect2Verify above - - mRedirectChannel = newChannel; - mRedirectCallback = callback; - return NS_OK; - } - -diff --git a/netwerk/protocol/http/HttpChannelParent.h b/netwerk/protocol/http/HttpChannelParent.h ---- a/netwerk/protocol/http/HttpChannelParent.h -+++ b/netwerk/protocol/http/HttpChannelParent.h -@@ -128,18 +128,14 @@ private: - nsCOMPtr mRedirectChannel; - nsCOMPtr mRedirectCallback; - - // state for combining OnStatus/OnProgress with OnDataAvailable - // into one IPDL call to child. - nsresult mStoredStatus; - PRUint64 mStoredProgress; - PRUint64 mStoredProgressMax; -- -- bool mSentRedirect1Begin : 1; -- bool mSentRedirect1BeginFailed : 1; -- bool mReceivedRedirect2Verify : 1; - }; - - } // namespace net - } // namespace mozilla - - #endif // mozilla_net_HttpChannelParent_h