mozilla-revert_621446.patch
changeset 438 7d934b2f5014
parent 435 df9c4a6e84f8
child 439 7704a021055f
--- 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<TabParent*>(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<nsIHttpChannel> 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<nsHttpChannel *>(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<nsIChannel> mRedirectChannel;
-   nsCOMPtr<nsIAsyncVerifyRedirectCallback> 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