Index: nsCRLManager.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsCRLManager.cpp,v retrieving revision 1.14 diff -u -r1.14 nsCRLManager.cpp --- nsCRLManager.cpp +++ nsCRLManager.cpp @@ -212,8 +212,11 @@ rv = NS_ERROR_NOT_AVAILABLE; } else { - rv = ::getNSSDialogs(getter_AddRefs(certDialogs), - NS_GET_IID(nsICertificateDialogs), NS_CERTIFICATEDIALOGS_CONTRACTID); + rv = ::getNSSDialogs( + getter_AddRefs(certDialogs), + NS_GET_IID(nsICertificateDialogs), + NS_CERTIFICATEDIALOGS_CONTRACTID, + nsnull); } } if (NS_SUCCEEDED(rv)) { Index: nsCertPicker.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsCertPicker.cpp,v retrieving revision 1.11 diff -u -r1.11 nsCertPicker.cpp --- nsCertPicker.cpp +++ nsCertPicker.cpp @@ -165,7 +165,8 @@ nsICertPickDialogs *dialogs = nsnull; rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsICertPickDialogs), - NS_CERTPICKDIALOGS_CONTRACTID); + NS_CERTPICKDIALOGS_CONTRACTID, + ctx); if (NS_SUCCEEDED(rv)) { nsPSMUITracker tracker; Index: nsCrypto.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsCrypto.cpp,v retrieving revision 1.74 diff -u -r1.74 nsCrypto.cpp --- nsCrypto.cpp +++ nsCrypto.cpp @@ -861,7 +861,8 @@ rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsIGeneratingKeypairInfoDialogs), - NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID); + NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID, + uiCxt); if (NS_SUCCEEDED(rv)) { KeygenRunnable = new nsKeygenThread(); @@ -2034,7 +2035,8 @@ nsCOMPtr dialogs; nsresult rv = getNSSDialogs(getter_AddRefs(dialogs), NS_GET_IID(nsIDOMCryptoDialogs), - NS_DOMCRYPTODIALOGS_CONTRACTID); + NS_DOMCRYPTODIALOGS_CONTRACTID, + nsnull); if (NS_FAILED(rv)) return rv; Index: nsKeygenHandler.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsKeygenHandler.cpp,v retrieving revision 1.43 diff -u -r1.43 nsKeygenHandler.cpp --- nsKeygenHandler.cpp +++ nsKeygenHandler.cpp @@ -461,8 +461,9 @@ /* Throw up the token list dialog and get back the token */ rv = getNSSDialogs((void**)&dialogs, - NS_GET_IID(nsITokenDialogs), - NS_TOKENDIALOGS_CONTRACTID); + NS_GET_IID(nsITokenDialogs), + NS_TOKENDIALOGS_CONTRACTID, + m_ctx); if (NS_FAILED(rv)) goto loser; @@ -677,7 +678,8 @@ rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsIGeneratingKeypairInfoDialogs), - NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID); + NS_GENERATINGKEYPAIRINFODIALOGS_CONTRACTID, + m_ctx); if (NS_SUCCEEDED(rv)) { KeygenRunnable = new nsKeygenThread(); Index: nsNSSCertificateDB.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSCertificateDB.cpp,v retrieving revision 1.28 diff -u -r1.28 nsNSSCertificateDB.cpp --- nsNSSCertificateDB.cpp +++ nsNSSCertificateDB.cpp @@ -341,7 +341,8 @@ nsCOMPtr dialogs; nsresult rv = ::getNSSDialogs(getter_AddRefs(dialogs), NS_GET_IID(nsICertificateDialogs), - NS_CERTIFICATEDIALOGS_CONTRACTID); + NS_CERTIFICATEDIALOGS_CONTRACTID, + ctx); if (NS_FAILED(rv)) return rv; Index: nsNSSComponent.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSComponent.cpp,v retrieving revision 1.152 diff -u -r1.152 nsNSSComponent.cpp --- nsNSSComponent.cpp +++ nsNSSComponent.cpp @@ -2520,9 +2520,18 @@ } nsresult -getNSSDialogs(void **_result, REFNSIID aIID, const char *contract) +getNSSDialogs( + void **_result, + REFNSIID aIID, + const char *contract, + nsIInterfaceRequestor *ctx) { nsresult rv; + if (ctx) { + rv = ctx->GetInterface(aIID, _result); + if (NS_SUCCEEDED(rv) && _result) + return rv; + } nsCOMPtr svc = do_GetService(contract, &rv); if (NS_FAILED(rv)) @@ -2547,7 +2556,8 @@ rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsITokenPasswordDialogs), - NS_TOKENPASSWORDSDIALOG_CONTRACTID); + NS_TOKENPASSWORDSDIALOG_CONTRACTID, + ctx); if (NS_FAILED(rv)) goto loser; Index: nsNSSHelper.h =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSHelper.h,v retrieving revision 1.6 diff -u -r1.6 nsNSSHelper.h --- nsNSSHelper.h +++ nsNSSHelper.h @@ -64,8 +64,12 @@ // specific dialogs. // -nsresult -getNSSDialogs(void **_result, REFNSIID aIID, const char *contract); +nsresult +getNSSDialogs( + void **_result, + REFNSIID aIID, + const char *contract, + nsIInterfaceRequestor *ctx); extern "C" { // a "fake" unicode conversion function Index: nsNSSIOLayer.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsNSSIOLayer.cpp,v retrieving revision 1.131 diff -u -r1.131 nsNSSIOLayer.cpp --- nsNSSIOLayer.cpp +++ nsNSSIOLayer.cpp @@ -1423,7 +1423,8 @@ if (!badCertHandler) { rv = getNSSDialogs((void**)&badCertHandler, NS_GET_IID(nsIBadCertListener), - NS_BADCERTLISTENER_CONTRACTID); + NS_BADCERTLISTENER_CONTRACTID, + callbacks); if (NS_FAILED(rv)) return PR_FALSE; } @@ -2284,7 +2285,8 @@ /* Throw up the client auth dialog and get back the index of the selected cert */ rv = getNSSDialogs((void**)&dialogs, NS_GET_IID(nsIClientAuthDialogs), - NS_CLIENTAUTHDIALOGS_CONTRACTID); + NS_CLIENTAUTHDIALOGS_CONTRACTID, + info); if (NS_FAILED(rv)) { NS_FREE_XPCOM_ALLOCATED_POINTER_ARRAY(CertsToUse, certNicknameList); Index: nsPKCS12Blob.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsPKCS12Blob.cpp,v retrieving revision 1.48 diff -u -r1.48 nsPKCS12Blob.cpp --- nsPKCS12Blob.cpp +++ nsPKCS12Blob.cpp @@ -531,7 +531,8 @@ nsCOMPtr certDialogs; rv = ::getNSSDialogs(getter_AddRefs(certDialogs), NS_GET_IID(nsICertificateDialogs), - NS_CERTIFICATEDIALOGS_CONTRACTID); + NS_CERTIFICATEDIALOGS_CONTRACTID, + nsnull); if (NS_FAILED(rv)) return rv; PRBool pressedOK; { @@ -560,7 +561,8 @@ nsCOMPtr certDialogs; rv = ::getNSSDialogs(getter_AddRefs(certDialogs), NS_GET_IID(nsICertificateDialogs), - NS_CERTIFICATEDIALOGS_CONTRACTID); + NS_CERTIFICATEDIALOGS_CONTRACTID, + nsnull); if (NS_FAILED(rv)) return rv; PRBool pressedOK; { Index: nsSDR.cpp =================================================================== RCS file: /cvsroot/mozilla/security/manager/ssl/src/nsSDR.cpp,v retrieving revision 1.24 diff -u -r1.24 nsSDR.cpp --- nsSDR.cpp +++ nsSDR.cpp @@ -301,7 +301,8 @@ rv = getNSSDialogs(getter_AddRefs(dialogs), NS_GET_IID(nsITokenPasswordDialogs), - NS_TOKENPASSWORDSDIALOG_CONTRACTID); + NS_TOKENPASSWORDSDIALOG_CONTRACTID, + nsnull); if (NS_FAILED(rv)) return rv; nsCOMPtr ctx = new nsSDRContext();