From ed96a250475c348ec9aa4b8d3e39e3c8f2fcdc8a Mon Sep 17 00:00:00 2001 From: "dveditz%cruzio.com" Date: Sat, 19 Feb 2005 08:32:25 +0000 Subject: [PATCH] bug 268059 hide URL user:pass in XPinstall dialogs, r/sr=dougt git-svn-id: svn://10.0.0.236/trunk@169487 18797224-902f-48f8-a5cc-f745e15eee43 --- mozilla/xpinstall/src/nsXPITriggerInfo.cpp | 20 ++++++++++++++++++++ mozilla/xpinstall/src/nsXPITriggerInfo.h | 6 +++++- mozilla/xpinstall/src/nsXPInstallManager.cpp | 2 +- 3 files changed, 26 insertions(+), 2 deletions(-) diff --git a/mozilla/xpinstall/src/nsXPITriggerInfo.cpp b/mozilla/xpinstall/src/nsXPITriggerInfo.cpp index dc3c95cba48..61a181e1f4c 100644 --- a/mozilla/xpinstall/src/nsXPITriggerInfo.cpp +++ b/mozilla/xpinstall/src/nsXPITriggerInfo.cpp @@ -39,6 +39,7 @@ #include "nscore.h" #include "nsXPITriggerInfo.h" +#include "nsNetUtil.h" #include "nsDebug.h" #include "nsIServiceManager.h" #include "nsIEventQueueService.h" @@ -105,6 +106,25 @@ PRBool nsXPITriggerItem::IsRelativeURL() return (cpos > spos); } +const PRUnichar* +nsXPITriggerItem::GetSafeURLString() +{ + // create the safe url string the first time + if (mSafeURL.IsEmpty() && !mURL.IsEmpty()) + { + nsCOMPtr uri; + NS_NewURI(getter_AddRefs(uri), mURL); + if (uri) + { + nsCAutoString spec; + uri->SetUserPass(EmptyCString()); + uri->GetSpec(spec); + mSafeURL = NS_ConvertUTF8toUTF16(spec); + } + } + + return mSafeURL.get(); +} void nsXPITriggerItem::SetPrincipal(nsIPrincipal* aPrincipal) diff --git a/mozilla/xpinstall/src/nsXPITriggerInfo.h b/mozilla/xpinstall/src/nsXPITriggerInfo.h index 0d248a17b97..7d8a0557e59 100644 --- a/mozilla/xpinstall/src/nsXPITriggerInfo.h +++ b/mozilla/xpinstall/src/nsXPITriggerInfo.h @@ -82,16 +82,20 @@ class nsXPITriggerItem nsCOMPtr mFile; nsCOMPtr mOutStream; nsCOMPtr mPrincipal; - + PRBool IsFileURL() { return StringBeginsWith(mURL, NS_LITERAL_STRING("file:/")); } PRBool IsRelativeURL(); + const PRUnichar* GetSafeURLString(); + void SetPrincipal(nsIPrincipal* aPrincipal); private: //-- prevent inadvertent copies and assignments nsXPITriggerItem& operator=(const nsXPITriggerItem& rhs); nsXPITriggerItem(const nsXPITriggerItem& rhs); + + nsString mSafeURL; }; diff --git a/mozilla/xpinstall/src/nsXPInstallManager.cpp b/mozilla/xpinstall/src/nsXPInstallManager.cpp index 0e47cd00d30..2b42ed4eab6 100644 --- a/mozilla/xpinstall/src/nsXPInstallManager.cpp +++ b/mozilla/xpinstall/src/nsXPInstallManager.cpp @@ -267,7 +267,7 @@ nsXPInstallManager::InitManagerInternal() { nsXPITriggerItem *item = mTriggers->Get(i); packageList[j++] = item->mName.get(); - packageList[j++] = item->mURL.get(); + packageList[j++] = item->GetSafeURLString(); packageList[j++] = item->mIconURL.get(); packageList[j++] = item->mCertName.get(); }