diff --git a/mozilla/modules/libpr0n/public/imgILoader.idl b/mozilla/modules/libpr0n/public/imgILoader.idl index 681f4b7e7a8..bd3585678b2 100644 --- a/mozilla/modules/libpr0n/public/imgILoader.idl +++ b/mozilla/modules/libpr0n/public/imgILoader.idl @@ -59,10 +59,4 @@ interface imgILoader : nsISupports * @param cx some random data */ imgIRequest loadImageWithChannel(in nsIChannel aChannel, in imgIDecoderObserver aObserver, in nsISupports cx, out nsIStreamListener aListener); - - /** - * Returns the channels contained directly in this group. - * @note Enumerator element type: imgIRequest. - */ - readonly attribute nsISimpleEnumerator requests; }; diff --git a/mozilla/modules/libpr0n/src/imgLoader.cpp b/mozilla/modules/libpr0n/src/imgLoader.cpp index 14a06d3a285..51cbb41978e 100644 --- a/mozilla/modules/libpr0n/src/imgLoader.cpp +++ b/mozilla/modules/libpr0n/src/imgLoader.cpp @@ -44,9 +44,6 @@ #include "ImageLogging.h" -static NS_DEFINE_CID(kImageRequestCID, NS_IMGREQUEST_CID); -static NS_DEFINE_CID(kImageRequestProxyCID, NS_IMGREQUESTPROXY_CID); - NS_IMPL_ISUPPORTS1(imgLoader, imgILoader) imgLoader::imgLoader() @@ -129,8 +126,9 @@ NS_IMETHODIMP imgLoader::LoadImage(nsIURI *aURI, nsILoadGroup *aLoadGroup, imgID newChannel->SetLoadAttributes(flags); } - nsCOMPtr req(do_CreateInstance(kImageRequestCID)); - request = NS_REINTERPRET_CAST(imgRequest*, req.get()); + NS_NEWXPCOM(request, imgRequest); + if (!request) return NS_ERROR_OUT_OF_MEMORY; + NS_ADDREF(request); PR_LOG(gImgLog, PR_LOG_DEBUG, @@ -162,15 +160,22 @@ NS_IMETHODIMP imgLoader::LoadImage(nsIURI *aURI, nsILoadGroup *aLoadGroup, imgID PR_LOG(gImgLog, PR_LOG_DEBUG, ("[this=%p] imgLoader::LoadImage -- creating proxy request.\n", this)); - nsCOMPtr proxyRequest(do_CreateInstance(kImageRequestProxyCID)); + imgRequestProxy *proxyRequest; + NS_NEWXPCOM(proxyRequest, imgRequestProxy); + if (!proxyRequest) return NS_ERROR_OUT_OF_MEMORY; + + NS_ADDREF(proxyRequest); + // init adds itself to imgRequest's list of observers - NS_REINTERPRET_CAST(imgRequestProxy*, proxyRequest.get())->Init(request, aLoadGroup, aObserver, cx); + proxyRequest->Init(request, aLoadGroup, aObserver, cx); NS_RELEASE(request); - *_retval = proxyRequest; + *_retval = NS_STATIC_CAST(imgIRequest*, proxyRequest); NS_ADDREF(*_retval); + NS_RELEASE(proxyRequest); + return NS_OK; } @@ -198,9 +203,9 @@ NS_IMETHODIMP imgLoader::LoadImageWithChannel(nsIChannel *channel, imgIDecoderOb *listener = nsnull; // give them back a null nsIStreamListener } else { - nsCOMPtr req(do_CreateInstance(kImageRequestCID)); + NS_NEWXPCOM(request, imgRequest); + if (!request) return NS_ERROR_OUT_OF_MEMORY; - request = NS_REINTERPRET_CAST(imgRequest*, req.get()); NS_ADDREF(request); #ifdef MOZ_NEW_CACHE @@ -217,22 +222,21 @@ NS_IMETHODIMP imgLoader::LoadImageWithChannel(nsIChannel *channel, imgIDecoderOb NS_IF_ADDREF(*listener); } - nsCOMPtr proxyRequest(do_CreateInstance(kImageRequestProxyCID)); + imgRequestProxy *proxyRequest; + NS_NEWXPCOM(proxyRequest, imgRequestProxy); + if (!proxyRequest) return NS_ERROR_OUT_OF_MEMORY; + + NS_ADDREF(proxyRequest); // init adds itself to imgRequest's list of observers - NS_REINTERPRET_CAST(imgRequestProxy*, proxyRequest.get())->Init(request, nsnull, aObserver, cx); + proxyRequest->Init(request, nsnull, aObserver, cx); NS_RELEASE(request); - *_retval = proxyRequest; + *_retval = NS_STATIC_CAST(imgIRequest*, proxyRequest); NS_ADDREF(*_retval); + NS_RELEASE(proxyRequest); + return NS_OK; } - -/* readonly attribute nsISimpleEnumerator requests; */ -NS_IMETHODIMP imgLoader::GetRequests(nsISimpleEnumerator * *aRequests) -{ - return NS_ERROR_NOT_IMPLEMENTED; -} -