From 4d62e29749feec9ea4196ecfd60b9eab663f8233 Mon Sep 17 00:00:00 2001 From: "warren%netscape.com" Date: Mon, 21 Aug 2000 08:23:54 +0000 Subject: [PATCH] Bug 46864 - Embedding needs a name attribute on nsIRequest. git-svn-id: svn://10.0.0.236/trunk@76772 18797224-902f-48f8-a5cc-f745e15eee43 --- .../chrome/src/nsChromeProtocolHandler.cpp | 4 +++ .../xul/document/src/nsXULDocument.cpp | 4 +++ .../extensions/datetime/nsDateTimeChannel.cpp | 7 +++++ mozilla/extensions/finger/nsFingerChannel.cpp | 7 +++++ .../xmlextras/base/src/nsDOMParser.cpp | 6 +++++ mozilla/mailnews/base/util/nsMsgProtocol.cpp | 8 ++++++ .../mailnews/compose/src/nsSmtpService.cpp | 6 +++++ mozilla/mailnews/imap/src/nsImapProtocol.cpp | 6 +++++ mozilla/modules/libjar/nsJARChannel.cpp | 13 ++++++++++ mozilla/netwerk/base/public/nsIRequest.idl | 5 ++++ mozilla/netwerk/base/src/nsFileTransport.cpp | 9 +++++++ .../netwerk/base/src/nsInputStreamChannel.cpp | 14 ++++++++++ mozilla/netwerk/base/src/nsLoadGroup.cpp | 21 +++++++++++++++ .../netwerk/base/src/nsSocketTransport.cpp | 12 +++++++++ .../filecache/nsDiskCacheRecordChannel.cpp | 7 +++++ .../cache/memcache/nsMemCacheChannel.cpp | 7 +++++ mozilla/netwerk/dns/src/nsDnsService.cpp | 7 +++++ .../protocol/data/src/nsDataChannel.cpp | 7 +++++ .../datetime/src/nsDateTimeChannel.cpp | 7 +++++ .../protocol/file/src/nsFileChannel.cpp | 15 +++++++++++ .../protocol/finger/src/nsFingerChannel.cpp | 7 +++++ .../netwerk/protocol/ftp/src/nsFTPChannel.cpp | 15 +++++++++++ .../ftp/src/nsFtpConnectionThread.cpp | 13 ++++++++++ .../protocol/http/src/nsHTTPChannel.cpp | 6 +++++ .../protocol/http/src/nsHTTPRequest.cpp | 26 +++++++++++++++++++ .../netwerk/protocol/http/src/nsHTTPRequest.h | 1 + .../netwerk/protocol/jar/src/nsJARChannel.cpp | 13 ++++++++++ .../netwerk/protocol/res/src/nsResChannel.cpp | 13 ++++++++++ .../chrome/src/nsChromeProtocolHandler.cpp | 4 +++ mozilla/rdf/content/src/nsXULDocument.cpp | 4 +++ 30 files changed, 274 insertions(+) diff --git a/mozilla/chrome/src/nsChromeProtocolHandler.cpp b/mozilla/chrome/src/nsChromeProtocolHandler.cpp index 59952ebd82f..c3cd13abf82 100644 --- a/mozilla/chrome/src/nsChromeProtocolHandler.cpp +++ b/mozilla/chrome/src/nsChromeProtocolHandler.cpp @@ -116,6 +116,10 @@ public: NS_DECL_ISUPPORTS // nsIRequest + NS_IMETHOD GetName(PRUnichar* *result) { + NS_NOTREACHED("nsCachedChromeChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; + } NS_IMETHOD IsPending(PRBool *_retval) { *_retval = PR_TRUE; return NS_OK; } NS_IMETHOD GetStatus(nsresult *status) { *status = mStatus; return NS_OK; } NS_IMETHOD Cancel(nsresult status) { mStatus = status; return NS_OK; } diff --git a/mozilla/content/xul/document/src/nsXULDocument.cpp b/mozilla/content/xul/document/src/nsXULDocument.cpp index 446404f69a2..3f3c04085b4 100644 --- a/mozilla/content/xul/document/src/nsXULDocument.cpp +++ b/mozilla/content/xul/document/src/nsXULDocument.cpp @@ -319,6 +319,10 @@ public: NS_DECL_ISUPPORTS // nsIRequest + NS_IMETHOD GetName(PRUnichar* *result) { + NS_NOTREACHED("PlaceholderChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; + } NS_IMETHOD IsPending(PRBool *_retval) { *_retval = PR_TRUE; return NS_OK; } NS_IMETHOD GetStatus(nsresult *status) { *status = NS_OK; return NS_OK; } NS_IMETHOD Cancel(nsresult status) { return NS_OK; } diff --git a/mozilla/extensions/datetime/nsDateTimeChannel.cpp b/mozilla/extensions/datetime/nsDateTimeChannel.cpp index 881d14768c9..613bb83ed7e 100644 --- a/mozilla/extensions/datetime/nsDateTimeChannel.cpp +++ b/mozilla/extensions/datetime/nsDateTimeChannel.cpp @@ -79,6 +79,13 @@ nsDateTimeChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsDateTimeChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDateTimeChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDateTimeChannel::IsPending(PRBool *result) { diff --git a/mozilla/extensions/finger/nsFingerChannel.cpp b/mozilla/extensions/finger/nsFingerChannel.cpp index 465a1d89770..aece23c19ad 100644 --- a/mozilla/extensions/finger/nsFingerChannel.cpp +++ b/mozilla/extensions/finger/nsFingerChannel.cpp @@ -119,6 +119,13 @@ nsFingerChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsFingerChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsFingerChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsFingerChannel::IsPending(PRBool *result) { diff --git a/mozilla/extensions/xmlextras/base/src/nsDOMParser.cpp b/mozilla/extensions/xmlextras/base/src/nsDOMParser.cpp index 552d34bed69..f9ea945b584 100644 --- a/mozilla/extensions/xmlextras/base/src/nsDOMParser.cpp +++ b/mozilla/extensions/xmlextras/base/src/nsDOMParser.cpp @@ -85,6 +85,12 @@ nsDOMParserChannel::~nsDOMParserChannel() NS_IMPL_ISUPPORTS2(nsDOMParserChannel, nsIRequest, nsIChannel) /* boolean isPending (); */ +NS_IMETHODIMP nsDOMParserChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDOMParserChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDOMParserChannel::IsPending(PRBool *_retval) { diff --git a/mozilla/mailnews/base/util/nsMsgProtocol.cpp b/mozilla/mailnews/base/util/nsMsgProtocol.cpp index d25f56e5ca9..899ae293688 100644 --- a/mozilla/mailnews/base/util/nsMsgProtocol.cpp +++ b/mozilla/mailnews/base/util/nsMsgProtocol.cpp @@ -598,6 +598,14 @@ nsMsgProtocol::GetSecurityInfo(nsISupports * *aSecurityInfo) // From nsIRequest //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP nsMsgProtocol::GetName(PRUnichar* *result) +{ + if (m_channel) + return m_channel->GetName(result); + NS_NOTREACHED("nsMsgProtocol::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsMsgProtocol::IsPending(PRBool *result) { *result = PR_TRUE; diff --git a/mozilla/mailnews/compose/src/nsSmtpService.cpp b/mozilla/mailnews/compose/src/nsSmtpService.cpp index 358eeebc5a8..94180222d54 100644 --- a/mozilla/mailnews/compose/src/nsSmtpService.cpp +++ b/mozilla/mailnews/compose/src/nsSmtpService.cpp @@ -479,6 +479,12 @@ NS_IMETHODIMP nsMailtoChannel::SetOwner(nsISupports * aPrincipal) // From nsIRequest //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP nsMailtoChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsMailtoChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsMailtoChannel::IsPending(PRBool *result) { *result = PR_TRUE; diff --git a/mozilla/mailnews/imap/src/nsImapProtocol.cpp b/mozilla/mailnews/imap/src/nsImapProtocol.cpp index b5c9ea3f91b..cfbaadc1bf3 100644 --- a/mozilla/mailnews/imap/src/nsImapProtocol.cpp +++ b/mozilla/mailnews/imap/src/nsImapProtocol.cpp @@ -7001,6 +7001,12 @@ NS_IMETHODIMP nsImapMockChannel::SetOwner(nsISupports * aPrincipal) // From nsIRequest //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP nsImapMockChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsImapMockChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsImapMockChannel::IsPending(PRBool *result) { *result = PR_TRUE; diff --git a/mozilla/modules/libjar/nsJARChannel.cpp b/mozilla/modules/libjar/nsJARChannel.cpp index 2bf047f43da..3b561852668 100644 --- a/mozilla/modules/libjar/nsJARChannel.cpp +++ b/mozilla/modules/libjar/nsJARChannel.cpp @@ -209,6 +209,19 @@ nsJARChannel::Init(nsIJARProtocolHandler* aHandler, nsIURI* uri) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods +NS_IMETHODIMP +nsJARChannel::GetName(PRUnichar* *result) +{ + nsresult rv; + nsXPIDLCString urlStr; + rv = mURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsJARChannel::IsPending(PRBool* result) { diff --git a/mozilla/netwerk/base/public/nsIRequest.idl b/mozilla/netwerk/base/public/nsIRequest.idl index 88c0b4ffe4d..5aa5d2a0069 100644 --- a/mozilla/netwerk/base/public/nsIRequest.idl +++ b/mozilla/netwerk/base/public/nsIRequest.idl @@ -25,6 +25,11 @@ [scriptable, uuid(F2CAABA0-2F25-11d3-A164-0050041CAF44)] interface nsIRequest : nsISupports { + /** + * Returns the name of the request. Often this is the URL of the request. + */ + readonly attribute wstring name; + /** * Returns true if the request is pending (active). Returns false * after completion or successful calling Cancel. Suspended requests diff --git a/mozilla/netwerk/base/src/nsFileTransport.cpp b/mozilla/netwerk/base/src/nsFileTransport.cpp index bbd37f5518d..0e3fc7a396a 100644 --- a/mozilla/netwerk/base/src/nsFileTransport.cpp +++ b/mozilla/netwerk/base/src/nsFileTransport.cpp @@ -167,6 +167,15 @@ nsFileTransport::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) // From nsIRequest //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP +nsFileTransport::GetName(PRUnichar* *result) +{ + nsString name; + name.AppendWithConversion(mStreamName); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsFileTransport::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/base/src/nsInputStreamChannel.cpp b/mozilla/netwerk/base/src/nsInputStreamChannel.cpp index e8352601e00..d4a27233bb8 100644 --- a/mozilla/netwerk/base/src/nsInputStreamChannel.cpp +++ b/mozilla/netwerk/base/src/nsInputStreamChannel.cpp @@ -27,6 +27,7 @@ #include "nsIMIMEService.h" #include "nsIFileTransportService.h" #include "netCore.h" +#include "nsXPIDLString.h" static NS_DEFINE_CID(kIOServiceCID, NS_IOSERVICE_CID); static NS_DEFINE_CID(kMIMEServiceCID, NS_MIMESERVICE_CID); @@ -181,6 +182,19 @@ NS_IMPL_THREADSAFE_ISUPPORTS5(nsStreamIOChannel, //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsStreamIOChannel::GetName(PRUnichar* *result) +{ + nsresult rv; + nsXPIDLCString urlStr; + rv = mURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsStreamIOChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/base/src/nsLoadGroup.cpp b/mozilla/netwerk/base/src/nsLoadGroup.cpp index 6d231e20c69..f0fe6215137 100644 --- a/mozilla/netwerk/base/src/nsLoadGroup.cpp +++ b/mozilla/netwerk/base/src/nsLoadGroup.cpp @@ -32,6 +32,8 @@ #include "prlog.h" #include "nsCRT.h" #include "netCore.h" +#include "nsXPIDLString.h" +#include "nsString.h" #if defined(PR_LOGGING) // @@ -150,6 +152,25 @@ nsLoadGroup::AggregatedQueryInterface(const nsIID& aIID, void** aInstancePtr) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsLoadGroup::GetName(PRUnichar* *result) +{ + // XXX is this the right "name" for a load group? + nsresult rv; + nsXPIDLCString urlStr; + if (mDefaultLoadChannel) { + nsCOMPtr url; + rv = mDefaultLoadChannel->GetURI(getter_AddRefs(url)); + if (NS_FAILED(rv)) return rv; + rv = url->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + } + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsLoadGroup::IsPending(PRBool *aResult) { diff --git a/mozilla/netwerk/base/src/nsSocketTransport.cpp b/mozilla/netwerk/base/src/nsSocketTransport.cpp index 3ca65340f77..c4a881a9759 100644 --- a/mozilla/netwerk/base/src/nsSocketTransport.cpp +++ b/mozilla/netwerk/base/src/nsSocketTransport.cpp @@ -1507,6 +1507,18 @@ nsSocketTransport::GetSecurityInfo(nsISupports **info) // nsIRequest implementation... // -------------------------------------------------------------------------- // + +NS_IMETHODIMP +nsSocketTransport::GetName(PRUnichar* *result) +{ + nsString name; + name.AppendWithConversion(mHostName); + name.AppendWithConversion(":"); + name.AppendInt(mPort); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsSocketTransport::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp b/mozilla/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp index 9cadec8228f..9f7392a2b1f 100644 --- a/mozilla/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp +++ b/mozilla/netwerk/cache/filecache/nsDiskCacheRecordChannel.cpp @@ -179,6 +179,13 @@ NS_IMPL_THREADSAFE_ISUPPORTS4(nsDiskCacheRecordChannel, nsIStreamObserver) // implement nsIRequest +NS_IMETHODIMP +nsDiskCacheRecordChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDiskCacheRecordChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDiskCacheRecordChannel::IsPending(PRBool *aIsPending) { diff --git a/mozilla/netwerk/cache/memcache/nsMemCacheChannel.cpp b/mozilla/netwerk/cache/memcache/nsMemCacheChannel.cpp index 594f84fd135..709616c46fd 100644 --- a/mozilla/netwerk/cache/memcache/nsMemCacheChannel.cpp +++ b/mozilla/netwerk/cache/memcache/nsMemCacheChannel.cpp @@ -339,6 +339,13 @@ nsMemCacheChannel::~nsMemCacheChannel() mRecord->mNumChannels--; } +NS_IMETHODIMP +nsMemCacheChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsMemCacheChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsMemCacheChannel::IsPending(PRBool* aIsPending) { diff --git a/mozilla/netwerk/dns/src/nsDnsService.cpp b/mozilla/netwerk/dns/src/nsDnsService.cpp index d76e3dfebf0..34d7978e365 100644 --- a/mozilla/netwerk/dns/src/nsDnsService.cpp +++ b/mozilla/netwerk/dns/src/nsDnsService.cpp @@ -283,6 +283,13 @@ nsDNSRequest::FireStop(nsresult status) return NS_OK; } +NS_IMETHODIMP +nsDNSRequest::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDNSRequest::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDNSRequest::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/data/src/nsDataChannel.cpp b/mozilla/netwerk/protocol/data/src/nsDataChannel.cpp index 2789a82c9d9..139fddc9666 100644 --- a/mozilla/netwerk/protocol/data/src/nsDataChannel.cpp +++ b/mozilla/netwerk/protocol/data/src/nsDataChannel.cpp @@ -225,6 +225,13 @@ nsDataChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsDataChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDataChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDataChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/datetime/src/nsDateTimeChannel.cpp b/mozilla/netwerk/protocol/datetime/src/nsDateTimeChannel.cpp index 881d14768c9..613bb83ed7e 100644 --- a/mozilla/netwerk/protocol/datetime/src/nsDateTimeChannel.cpp +++ b/mozilla/netwerk/protocol/datetime/src/nsDateTimeChannel.cpp @@ -79,6 +79,13 @@ nsDateTimeChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsDateTimeChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsDateTimeChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsDateTimeChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/file/src/nsFileChannel.cpp b/mozilla/netwerk/protocol/file/src/nsFileChannel.cpp index 738f9a7eb43..ffbd7fdd335 100644 --- a/mozilla/netwerk/protocol/file/src/nsFileChannel.cpp +++ b/mozilla/netwerk/protocol/file/src/nsFileChannel.cpp @@ -115,6 +115,21 @@ nsFileChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) // From nsIRequest //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP +nsFileChannel::GetName(PRUnichar* *result) +{ + if (mFileTransport) + return mFileTransport->GetName(result); + nsresult rv; + nsXPIDLCString urlStr; + rv = mURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsFileChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/finger/src/nsFingerChannel.cpp b/mozilla/netwerk/protocol/finger/src/nsFingerChannel.cpp index 465a1d89770..aece23c19ad 100644 --- a/mozilla/netwerk/protocol/finger/src/nsFingerChannel.cpp +++ b/mozilla/netwerk/protocol/finger/src/nsFingerChannel.cpp @@ -119,6 +119,13 @@ nsFingerChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsFingerChannel::GetName(PRUnichar* *result) +{ + NS_NOTREACHED("nsFingerChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + NS_IMETHODIMP nsFingerChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp index 234127eb921..b44ae5cf8d8 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFTPChannel.cpp @@ -134,6 +134,21 @@ nsFTPChannel::Create(nsISupports* aOuter, const nsIID& aIID, void* *aResult) // FTP connection thread using an xpcom proxy object to make the // cross thread call. +NS_IMETHODIMP +nsFTPChannel::GetName(PRUnichar* *result) +{ + if (mProxyChannel) + return mProxyChannel->GetName(result); + nsresult rv; + nsXPIDLCString urlStr; + rv = mURL->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsFTPChannel::IsPending(PRBool *result) { nsAutoLock lock(mLock); diff --git a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp index 7498914dd43..0d5db003d12 100644 --- a/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp +++ b/mozilla/netwerk/protocol/ftp/src/nsFtpConnectionThread.cpp @@ -1656,6 +1656,19 @@ nsFtpConnectionThread::Run() { //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsFtpConnectionThread::GetName(PRUnichar* *result) +{ + nsresult rv; + nsXPIDLCString urlStr; + rv = mURL->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsFtpConnectionThread::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp index b11f66e835b..454096c02b7 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPChannel.cpp @@ -156,6 +156,12 @@ NS_IMPL_THREADSAFE_ISUPPORTS7(nsHTTPChannel, //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsHTTPChannel::GetName(PRUnichar* *result) +{ + return mRequest->GetName(result); +} + NS_IMETHODIMP nsHTTPChannel::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp index b6da47f347d..94008524873 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp +++ b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.cpp @@ -114,6 +114,22 @@ NS_IMPL_THREADSAFE_ISUPPORTS1(nsHTTPRequest, nsIRequest) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods: +NS_IMETHODIMP +nsHTTPRequest::GetName(PRUnichar* *result) +{ + if (mPipelinedRequest) + return mPipelinedRequest->GetName(result); + + nsresult rv; + nsXPIDLCString urlStr; + rv = mURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsHTTPRequest::IsPending(PRBool *result) { @@ -949,6 +965,16 @@ nsHTTPPipelinedRequest::RestartRequest(PRUint32 aType) return rval; } +nsresult +nsHTTPPipelinedRequest::GetName(PRUnichar* *result) +{ + if (mTransport) + return mTransport->GetName(result); + + NS_NOTREACHED("nsHTTPPipelinedRequest::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; +} + nsresult nsHTTPPipelinedRequest::IsPending(PRBool *result) { diff --git a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h index a250452593c..b20988c46b3 100644 --- a/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h +++ b/mozilla/netwerk/protocol/http/src/nsHTTPRequest.h @@ -206,6 +206,7 @@ public: nsresult AdvanceToNextRequest (); nsresult RestartRequest (PRUint32 flags); + nsresult GetName(PRUnichar* *result); nsresult IsPending (PRBool *result); nsresult Cancel (nsresult status ); nsresult Suspend (); diff --git a/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp b/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp index 2bf047f43da..3b561852668 100644 --- a/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp +++ b/mozilla/netwerk/protocol/jar/src/nsJARChannel.cpp @@ -209,6 +209,19 @@ nsJARChannel::Init(nsIJARProtocolHandler* aHandler, nsIURI* uri) //////////////////////////////////////////////////////////////////////////////// // nsIRequest methods +NS_IMETHODIMP +nsJARChannel::GetName(PRUnichar* *result) +{ + nsresult rv; + nsXPIDLCString urlStr; + rv = mURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsJARChannel::IsPending(PRBool* result) { diff --git a/mozilla/netwerk/protocol/res/src/nsResChannel.cpp b/mozilla/netwerk/protocol/res/src/nsResChannel.cpp index cad366510eb..631d621f8b7 100644 --- a/mozilla/netwerk/protocol/res/src/nsResChannel.cpp +++ b/mozilla/netwerk/protocol/res/src/nsResChannel.cpp @@ -163,6 +163,19 @@ nsResChannel::Substitutions::Next(char* *result) // nsIRequest methods: //////////////////////////////////////////////////////////////////////////////// +NS_IMETHODIMP +nsResChannel::GetName(PRUnichar* *result) +{ + nsresult rv; + nsXPIDLCString urlStr; + rv = mResourceURI->GetSpec(getter_Copies(urlStr)); + if (NS_FAILED(rv)) return rv; + nsString name; + name.AppendWithConversion(urlStr); + *result = name.ToNewUnicode(); + return *result ? NS_OK : NS_ERROR_OUT_OF_MEMORY; +} + NS_IMETHODIMP nsResChannel::IsPending(PRBool *result) { diff --git a/mozilla/rdf/chrome/src/nsChromeProtocolHandler.cpp b/mozilla/rdf/chrome/src/nsChromeProtocolHandler.cpp index 59952ebd82f..c3cd13abf82 100644 --- a/mozilla/rdf/chrome/src/nsChromeProtocolHandler.cpp +++ b/mozilla/rdf/chrome/src/nsChromeProtocolHandler.cpp @@ -116,6 +116,10 @@ public: NS_DECL_ISUPPORTS // nsIRequest + NS_IMETHOD GetName(PRUnichar* *result) { + NS_NOTREACHED("nsCachedChromeChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; + } NS_IMETHOD IsPending(PRBool *_retval) { *_retval = PR_TRUE; return NS_OK; } NS_IMETHOD GetStatus(nsresult *status) { *status = mStatus; return NS_OK; } NS_IMETHOD Cancel(nsresult status) { mStatus = status; return NS_OK; } diff --git a/mozilla/rdf/content/src/nsXULDocument.cpp b/mozilla/rdf/content/src/nsXULDocument.cpp index 446404f69a2..3f3c04085b4 100644 --- a/mozilla/rdf/content/src/nsXULDocument.cpp +++ b/mozilla/rdf/content/src/nsXULDocument.cpp @@ -319,6 +319,10 @@ public: NS_DECL_ISUPPORTS // nsIRequest + NS_IMETHOD GetName(PRUnichar* *result) { + NS_NOTREACHED("PlaceholderChannel::GetName"); + return NS_ERROR_NOT_IMPLEMENTED; + } NS_IMETHOD IsPending(PRBool *_retval) { *_retval = PR_TRUE; return NS_OK; } NS_IMETHOD GetStatus(nsresult *status) { *status = NS_OK; return NS_OK; } NS_IMETHOD Cancel(nsresult status) { return NS_OK; }