From ae980a54a6e5076cc7a5e3e1eb02a352c07e6405 Mon Sep 17 00:00:00 2001 From: "waterson%netscape.com" Date: Mon, 17 Jan 2000 19:37:41 +0000 Subject: [PATCH] Bug 24144. [Add|Remove]Channel() are now performed by the protocols, so don't try to do it in SetLoadGroup(). r=warren --- chrome/src/nsChromeProtocolHandler.cpp | 28 ++++++---------------- rdf/chrome/src/nsChromeProtocolHandler.cpp | 28 ++++++---------------- 2 files changed, 14 insertions(+), 42 deletions(-) diff --git a/chrome/src/nsChromeProtocolHandler.cpp b/chrome/src/nsChromeProtocolHandler.cpp index 1706e05bd9ef..3414a13ce6a1 100644 --- a/chrome/src/nsChromeProtocolHandler.cpp +++ b/chrome/src/nsChromeProtocolHandler.cpp @@ -55,7 +55,7 @@ class nsCachedChromeChannel : public nsIChannel, public nsITimerCallback { protected: - nsCachedChromeChannel(nsIURI* aURI); + nsCachedChromeChannel(nsIURI* aURI, nsILoadGroup* aLoadGroup); virtual ~nsCachedChromeChannel(); nsCOMPtr mURI; @@ -65,7 +65,7 @@ protected: public: static nsresult - Create(nsIURI* aURI, nsIChannel** aResult); + Create(nsIURI* aURI, nsILoadGroup* aLoadGroup, nsIChannel** aResult); NS_DECL_ISUPPORTS @@ -87,13 +87,13 @@ NS_IMPL_RELEASE(nsCachedChromeChannel); NS_IMPL_QUERY_INTERFACE3(nsCachedChromeChannel, nsIRequest, nsIChannel, nsITimerCallback); nsresult -nsCachedChromeChannel::Create(nsIURI* aURI, nsIChannel** aResult) +nsCachedChromeChannel::Create(nsIURI* aURI, nsILoadGroup* aLoadGroup, nsIChannel** aResult) { NS_PRECONDITION(aURI != nsnull, "null ptr"); if (! aURI) return NS_ERROR_NULL_POINTER; - nsCachedChromeChannel* channel = new nsCachedChromeChannel(aURI); + nsCachedChromeChannel* channel = new nsCachedChromeChannel(aURI, aLoadGroup); if (! channel) return NS_ERROR_OUT_OF_MEMORY; @@ -103,8 +103,8 @@ nsCachedChromeChannel::Create(nsIURI* aURI, nsIChannel** aResult) } -nsCachedChromeChannel::nsCachedChromeChannel(nsIURI* aURI) - : mURI(aURI) +nsCachedChromeChannel::nsCachedChromeChannel(nsIURI* aURI, nsILoadGroup* aLoadGroup) + : mURI(aURI), mLoadGroup(aLoadGroup) { NS_INIT_REFCNT(); } @@ -269,19 +269,7 @@ nsCachedChromeChannel::GetLoadGroup(nsILoadGroup * *aLoadGroup) NS_IMETHODIMP nsCachedChromeChannel::SetLoadGroup(nsILoadGroup * aLoadGroup) { - nsresult rv; - - if (mLoadGroup) { - rv = mLoadGroup->RemoveChannel(this, nsnull, nsnull, nsnull); - if (NS_FAILED(rv)) return rv; - } - mLoadGroup = aLoadGroup; - - if (mLoadGroup) { - rv = mLoadGroup->AddChannel(this, nsnull); - if (NS_FAILED(rv)) return rv; - } return NS_OK; } @@ -437,10 +425,8 @@ nsChromeProtocolHandler::NewChannel(const char* aVerb, nsIURI* aURI, if (proto) { // ...in which case, we'll create a dummy stream that'll just // load the thing. - rv = nsCachedChromeChannel::Create(aURI, getter_AddRefs(result)); + rv = nsCachedChromeChannel::Create(aURI, aLoadGroup, getter_AddRefs(result)); if (NS_FAILED(rv)) return rv; - - result->SetLoadGroup(aLoadGroup); } else { // Miss. Resolve the chrome URL using the registry and do a diff --git a/rdf/chrome/src/nsChromeProtocolHandler.cpp b/rdf/chrome/src/nsChromeProtocolHandler.cpp index 1706e05bd9ef..3414a13ce6a1 100644 --- a/rdf/chrome/src/nsChromeProtocolHandler.cpp +++ b/rdf/chrome/src/nsChromeProtocolHandler.cpp @@ -55,7 +55,7 @@ class nsCachedChromeChannel : public nsIChannel, public nsITimerCallback { protected: - nsCachedChromeChannel(nsIURI* aURI); + nsCachedChromeChannel(nsIURI* aURI, nsILoadGroup* aLoadGroup); virtual ~nsCachedChromeChannel(); nsCOMPtr mURI; @@ -65,7 +65,7 @@ protected: public: static nsresult - Create(nsIURI* aURI, nsIChannel** aResult); + Create(nsIURI* aURI, nsILoadGroup* aLoadGroup, nsIChannel** aResult); NS_DECL_ISUPPORTS @@ -87,13 +87,13 @@ NS_IMPL_RELEASE(nsCachedChromeChannel); NS_IMPL_QUERY_INTERFACE3(nsCachedChromeChannel, nsIRequest, nsIChannel, nsITimerCallback); nsresult -nsCachedChromeChannel::Create(nsIURI* aURI, nsIChannel** aResult) +nsCachedChromeChannel::Create(nsIURI* aURI, nsILoadGroup* aLoadGroup, nsIChannel** aResult) { NS_PRECONDITION(aURI != nsnull, "null ptr"); if (! aURI) return NS_ERROR_NULL_POINTER; - nsCachedChromeChannel* channel = new nsCachedChromeChannel(aURI); + nsCachedChromeChannel* channel = new nsCachedChromeChannel(aURI, aLoadGroup); if (! channel) return NS_ERROR_OUT_OF_MEMORY; @@ -103,8 +103,8 @@ nsCachedChromeChannel::Create(nsIURI* aURI, nsIChannel** aResult) } -nsCachedChromeChannel::nsCachedChromeChannel(nsIURI* aURI) - : mURI(aURI) +nsCachedChromeChannel::nsCachedChromeChannel(nsIURI* aURI, nsILoadGroup* aLoadGroup) + : mURI(aURI), mLoadGroup(aLoadGroup) { NS_INIT_REFCNT(); } @@ -269,19 +269,7 @@ nsCachedChromeChannel::GetLoadGroup(nsILoadGroup * *aLoadGroup) NS_IMETHODIMP nsCachedChromeChannel::SetLoadGroup(nsILoadGroup * aLoadGroup) { - nsresult rv; - - if (mLoadGroup) { - rv = mLoadGroup->RemoveChannel(this, nsnull, nsnull, nsnull); - if (NS_FAILED(rv)) return rv; - } - mLoadGroup = aLoadGroup; - - if (mLoadGroup) { - rv = mLoadGroup->AddChannel(this, nsnull); - if (NS_FAILED(rv)) return rv; - } return NS_OK; } @@ -437,10 +425,8 @@ nsChromeProtocolHandler::NewChannel(const char* aVerb, nsIURI* aURI, if (proto) { // ...in which case, we'll create a dummy stream that'll just // load the thing. - rv = nsCachedChromeChannel::Create(aURI, getter_AddRefs(result)); + rv = nsCachedChromeChannel::Create(aURI, aLoadGroup, getter_AddRefs(result)); if (NS_FAILED(rv)) return rv; - - result->SetLoadGroup(aLoadGroup); } else { // Miss. Resolve the chrome URL using the registry and do a