# HG changeset patch # User Wolfgang Rosenauer # Date 1332227892 -3600 # Node ID 974b8a3e2d55b3ce84c0d1e2f447e9ce601bbc10 # Parent aa28c4f2962a09ff56b30821cdc455f59c8f983c Fix build on openSUSE 11.2 (x86_64) by reverting a temporary debug patch (bmo#621446) diff -r aa28c4f2962a -r 974b8a3e2d55 MozillaFirefox/MozillaFirefox.spec --- a/MozillaFirefox/MozillaFirefox.spec Mon Mar 19 10:35:51 2012 +0100 +++ b/MozillaFirefox/MozillaFirefox.spec Tue Mar 20 08:18:12 2012 +0100 @@ -91,6 +91,7 @@ Patch12: mozilla-linux3.patch Patch14: mozilla-disable-neon-option.patch Patch15: mozilla-yarr-pcre.patch +Patch16: mozilla-revert_621446.patch # Firefox/browser Patch31: firefox-browser-css.patch Patch32: firefox-cross-desktop.patch @@ -220,6 +221,7 @@ %patch12 -p1 %patch14 -p1 #%patch15 -p1 +%patch16 -p1 # %patch31 -p1 %patch32 -p1 diff -r aa28c4f2962a -r 974b8a3e2d55 MozillaFirefox/mozilla-revert_621446.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/MozillaFirefox/mozilla-revert_621446.patch Tue Mar 20 08:18:12 2012 +0100 @@ -0,0 +1,1 @@ +../mozilla-revert_621446.patch \ No newline at end of file diff -r aa28c4f2962a -r 974b8a3e2d55 mozilla-revert_621446.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mozilla-revert_621446.patch Tue Mar 20 08:18:12 2012 +0100 @@ -0,0 +1,148 @@ +# HG changeset patch +# Parent a4b050d8677d437a205e1cb88079ecd359cbd08d +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,23 @@ 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 +557,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 diff -r aa28c4f2962a -r 974b8a3e2d55 series --- a/series Mon Mar 19 10:35:51 2012 +0100 +++ b/series Tue Mar 20 08:18:12 2012 +0100 @@ -18,6 +18,7 @@ mozilla-linux3.patch mozilla-arm-cpu-detection.patch mozilla-disable-neon-option.patch +mozilla-revert_621446.patch #mozilla-yarr-pcre.patch # Firefox patches diff -r aa28c4f2962a -r 974b8a3e2d55 xulrunner/mozilla-revert_621446.patch --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xulrunner/mozilla-revert_621446.patch Tue Mar 20 08:18:12 2012 +0100 @@ -0,0 +1,1 @@ +../mozilla-revert_621446.patch \ No newline at end of file diff -r aa28c4f2962a -r 974b8a3e2d55 xulrunner/xulrunner.spec --- a/xulrunner/xulrunner.spec Mon Mar 19 10:35:51 2012 +0100 +++ b/xulrunner/xulrunner.spec Tue Mar 20 08:18:12 2012 +0100 @@ -79,6 +79,7 @@ Patch13: mozilla-sle11.patch Patch14: mozilla-linux3.patch Patch15: mozilla-arm-cpu-detection.patch +Patch16: mozilla-revert_621446.patch Patch17: mozilla-yarr-pcre.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: mozilla-js = %{version} @@ -198,6 +199,7 @@ %endif %patch14 -p1 %patch15 -p1 +%patch16 -p1 #%patch17 -p1 %build