diff --git a/security/manager/pki/public/nsIPKIParamBlock.idl b/security/manager/pki/public/nsIPKIParamBlock.idl
index b7ae24e6080d..7da062342a76 100644
--- a/security/manager/pki/public/nsIPKIParamBlock.idl
+++ b/security/manager/pki/public/nsIPKIParamBlock.idl
@@ -34,10 +34,9 @@
*/
#include "nsISupports.idl"
-#include "nsIDialogParamBlock.idl"
[scriptable, uuid(b6fe3d78-1dd1-11b2-9058-ced9016984c8)]
-interface nsIPKIParamBlock : nsIDialogParamBlock {
+interface nsIPKIParamBlock : nsISupports {
void setNumberISupports(in PRInt32 numISupports);
void setISupportAtIndex(in PRInt32 index, in nsISupports object);
diff --git a/security/manager/pki/resources/content/domainMismatch.js b/security/manager/pki/resources/content/domainMismatch.js
index 5719bda2c25d..74bff8d251d2 100644
--- a/security/manager/pki/resources/content/domainMismatch.js
+++ b/security/manager/pki/resources/content/domainMismatch.js
@@ -22,18 +22,21 @@
*/
-const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
-const nsIX509Cert = Components.interfaces.nsIX509Cert;
+const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
+const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
+const nsIX509Cert = Components.interfaces.nsIX509Cert;
-var params;
+var pkiParams;
+var dialogParams;
function onLoad()
{
- params = window.arguments[0].QueryInterface(nsIPKIParamBlock);
- var connectURL = params.GetString(1);
- var isupport = params.getISupportAtIndex(1);
+ pkiParams = window.arguments[0].QueryInterface(nsIPKIParamBlock);
+ var isupport = pkiParams.getISupportAtIndex(1);
var cert = isupport.QueryInterface(nsIX509Cert);
+ dialogParams = pkiParams.QueryInterface(nsIDialogParamBlock);
+ var connectURL = dialogParams.GetString(1);
var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
@@ -53,12 +56,12 @@ function viewCert()
function doOK()
{
- params.SetInt(1,1);
+ dialogParams.SetInt(1,1);
window.close();
}
function doCancel()
{
- params.SetInt(1,0);
+ dialogParams.SetInt(1,0);
window.close();
}
diff --git a/security/manager/pki/resources/content/newserver.js b/security/manager/pki/resources/content/newserver.js
index 4bfb7aee4ac0..e77f43d9c42e 100644
--- a/security/manager/pki/resources/content/newserver.js
+++ b/security/manager/pki/resources/content/newserver.js
@@ -22,16 +22,20 @@
*/
-const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
-const nsIX509Cert = Components.interfaces.nsIX509Cert;
+const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
+const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
+const nsIX509Cert = Components.interfaces.nsIX509Cert;
-var params;
+var dialogParams;
+var pkiParams;
function onLoad()
{
- params = window.arguments[0].QueryInterface(nsIPKIParamBlock);
- var isupport = params.getISupportAtIndex(1);
+ pkiParams = window.arguments[0].QueryInterface(nsIPKIParamBlock);
+ dialogParams = pkiParams.QueryInterface(nsIDialogParamBlock);
+
+ var isupport = pkiParams.getISupportAtIndex(1);
var cert = isupport.QueryInterface(nsIX509Cert);
var bundle = srGetStrBundle("chrome://pippki/locale/newserver.properties");
@@ -50,14 +54,14 @@ function onLoad()
function doOK()
{
- params.SetInt(1,1);
+ dialogParams.SetInt(1,1);
var radioGroup = document.getElementById("trustSiteCert");
- params.SetInt(2,parseInt(radioGroup.selectedItem.data));
+ dialogParams.SetInt(2,parseInt(radioGroup.selectedItem.data));
window.close();
}
function doCancel()
{
- params.SetInt(1,0);
+ dialogParams.SetInt(1,0);
window.close();
}
diff --git a/security/manager/pki/resources/content/serverCertExpired.js b/security/manager/pki/resources/content/serverCertExpired.js
index ee922f4d14af..a327989cd925 100644
--- a/security/manager/pki/resources/content/serverCertExpired.js
+++ b/security/manager/pki/resources/content/serverCertExpired.js
@@ -22,17 +22,20 @@
*/
-const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
-const nsIX509Cert = Components.interfaces.nsIX509Cert;
+const nsIDialogParamBlock = Components.interfaces.nsIDialogParamBlock;
+const nsIPKIParamBlock = Components.interfaces.nsIPKIParamBlock;
+const nsIX509Cert = Components.interfaces.nsIX509Cert;
-var params;
+var dialogParams;
+var pkiParams;
function onLoad()
{
- params = window.arguments[0].QueryInterface(nsIPKIParamBlock);
+ pkiParams = window.arguments[0].QueryInterface(nsIPKIParamBlock);
+ dialogParams = pkiParams.QueryInterface(nsIDialogParamBlock);
var bundle = srGetStrBundle("chrome://pippki/locale/pippki.properties");
- var message1 = params.GetString(1);
+ var message1 = dialogParams.GetString(1);
var currDate = new Date();
var message2 = bundle.formatStringFromName("serverCertExpiredMsg2",
@@ -44,12 +47,12 @@ function onLoad()
function doOK()
{
- params.SetInt(1,1);
+ dialogParams.SetInt(1,1);
window.close();
}
function doCancel()
{
- params.SetInt(1,0);
+ dialogParams.SetInt(1,0);
window.close();
}
diff --git a/security/manager/pki/resources/content/serverCertExpired.xul b/security/manager/pki/resources/content/serverCertExpired.xul
index 7edae2565977..1709154ea317 100644
--- a/security/manager/pki/resources/content/serverCertExpired.xul
+++ b/security/manager/pki/resources/content/serverCertExpired.xul
@@ -41,13 +41,11 @@
-
diff --git a/security/manager/pki/src/nsNSSDialogs.cpp b/security/manager/pki/src/nsNSSDialogs.cpp
index 8d7e8fa2e5b3..5a20bc81f3b2 100644
--- a/security/manager/pki/src/nsNSSDialogs.cpp
+++ b/security/manager/pki/src/nsNSSDialogs.cpp
@@ -71,10 +71,12 @@ class nsNSSDialogHelper
{
public:
const static char *kDefaultOpenWindowParam;
+ //The params is going to be either a nsIPKIParamBlock or
+ //nsIDialogParamBlock
static nsresult openDialog(
nsIDOMWindowInternal *window,
const char *url,
- nsIPKIParamBlock *params);
+ nsISupports *params);
static nsresult openDialogVA(nsIDOMWindowInternal *window,
const char *format, ...);
@@ -122,7 +124,7 @@ nsresult
nsNSSDialogHelper::openDialog(
nsIDOMWindowInternal *window,
const char *url,
- nsIPKIParamBlock *params)
+ nsISupports *params)
{
nsresult rv;
nsCOMPtr hiddenWindow;
@@ -145,7 +147,7 @@ nsNSSDialogHelper::openDialog(
url,
"_blank",
nsNSSDialogHelper::kDefaultOpenWindowParam,
- &NS_GET_IID(nsIPKIParamBlock),
+ &NS_GET_IID(nsISupports),
(nsISupports*)params
);
if ( !argv ) return NS_ERROR_FAILURE;
@@ -192,7 +194,8 @@ nsNSSDialogHelper::openDialogVA(nsIDOMWindowInternal *window,
}
/* ==== */
-static NS_DEFINE_CID(kDialogParamBlockCID, NS_PKIPARAMBLOCK_CID);
+static NS_DEFINE_CID(kDialogParamBlockCID, NS_DialogParamBlock_CID);
+static NS_DEFINE_CID(kPKIParamBlockCID, NS_PKIPARAMBLOCK_CID);
nsNSSDialogs::nsNSSDialogs()
{
@@ -240,7 +243,7 @@ nsNSSDialogs::SetPassword(nsIInterfaceRequestor *ctx,
// Get the parent window for the dialog
nsCOMPtr parent = do_GetInterface(ctx);
- nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
+ nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
if (!block) return NS_ERROR_FAILURE;
// void ChangePassword(in wstring tokenName, out int status);
@@ -275,7 +278,7 @@ nsNSSDialogs::UnknownIssuer(nsITransportSecurityInfo *socketInfo,
*_retval = PR_FALSE;
- nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
+ nsCOMPtr block = do_CreateInstance(kPKIParamBlockCID);
if (!block)
return NS_ERROR_FAILURE;
@@ -293,8 +296,8 @@ nsNSSDialogs::UnknownIssuer(nsITransportSecurityInfo *socketInfo,
return rv;
PRInt32 status;
-
- rv = block->GetInt(1, &status);
+ nsCOMPtr dialogBlock = do_QueryInterface(block);
+ rv = dialogBlock->GetInt(1, &status);
if (NS_FAILED(rv))
return rv;
@@ -303,7 +306,7 @@ nsNSSDialogs::UnknownIssuer(nsITransportSecurityInfo *socketInfo,
} else {
// The user wants to continue, let's figure out
// what to do with this cert.
- rv = block->GetInt(2, &addType);
+ rv = dialogBlock->GetInt(2, &addType);
switch (addType) {
case 0:
*outAddType = ADD_TRUSTED_PERMANENTLY;
@@ -336,12 +339,13 @@ nsNSSDialogs::MismatchDomain(nsITransportSecurityInfo *socketInfo,
*_retval = PR_FALSE;
- nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
+ nsCOMPtr block = do_CreateInstance(kPKIParamBlockCID);
if (!block)
return NS_ERROR_FAILURE;
- rv = block->SetString(1, targetURL);
+ nsCOMPtr dialogBlock = do_QueryInterface(block);
+ rv = dialogBlock->SetString(1, targetURL);
if (NS_FAILED(rv))
return rv;
@@ -357,7 +361,7 @@ nsNSSDialogs::MismatchDomain(nsITransportSecurityInfo *socketInfo,
PRInt32 status;
- rv = block->GetInt(1, &status);
+ rv = dialogBlock->GetInt(1, &status);
if (NS_FAILED(rv))
return rv;
@@ -380,7 +384,7 @@ nsNSSDialogs::CertExpired(nsITransportSecurityInfo *socketInfo,
*_retval = PR_FALSE;
- nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
+ nsCOMPtr block = do_CreateInstance(kPKIParamBlockCID);
if (!block)
return NS_ERROR_FAILURE;
@@ -427,7 +431,8 @@ nsNSSDialogs::CertExpired(nsITransportSecurityInfo *socketInfo,
Recycle(commonName);
Recycle(formattedDatePR);
- rv = block->SetString(1,message1);
+ nsCOMPtr dialogBlock = do_QueryInterface(block);
+ rv = dialogBlock->SetString(1,message1);
if (NS_FAILED(rv))
return rv;
@@ -441,7 +446,7 @@ nsNSSDialogs::CertExpired(nsITransportSecurityInfo *socketInfo,
block);
PRInt32 status;
- rv = block->GetInt(1, &status);
+ rv = dialogBlock->GetInt(1, &status);
if (NS_FAILED(rv))
return rv;
@@ -607,13 +612,14 @@ nsNSSDialogs::DownloadCACert(nsIInterfaceRequestor *ctx,
// Get the parent window for the dialog
nsCOMPtr parent = do_GetInterface(ctx);
- nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
+ nsCOMPtr block = do_CreateInstance(kDialogParamBlockCID);
if (!block) return NS_ERROR_FAILURE;
nsXPIDLString commonName;
rv = cert->GetCommonName(getter_Copies(commonName));
if (NS_FAILED(rv))
return rv;
+
rv = block->SetString(1, commonName);
if (NS_FAILED(rv)) return rv;
diff --git a/security/manager/pki/src/nsPKIParamBlock.h b/security/manager/pki/src/nsPKIParamBlock.h
index ea2494efb5df..6b13e456a145 100644
--- a/security/manager/pki/src/nsPKIParamBlock.h
+++ b/security/manager/pki/src/nsPKIParamBlock.h
@@ -36,6 +36,7 @@
#define _NSPKIPARAMBLOCK_
#include "nsCOMPtr.h"
#include "nsIPKIParamBlock.h"
+#include "nsIDialogParamBlock.h"
#define NS_PKIPARAMBLOCK_CID \
{ 0x0bec75a8, 0x1dd2, 0x11b2, \
@@ -43,7 +44,8 @@
#define NS_PKIPARAMBLOCK_CONTRACTID "@mozilla.org/security/pkiparamblock;1"
-class nsPKIParamBlock : public nsIPKIParamBlock
+class nsPKIParamBlock : public nsIPKIParamBlock,
+ public nsIDialogParamBlock
{
public:
enum { kNumISupports = 4 };