general spring cleaning

This commit is contained in:
morse%netscape.com 1999-08-07 14:12:31 +00:00
parent c0ab6533f4
commit c137afdfed
6 changed files with 2658 additions and 2862 deletions

View File

@ -44,28 +44,27 @@
*/ */
struct nsIWalletService : public nsISupports struct nsIWalletService : public nsISupports
{ {
static const nsIID& GetIID() { static nsIID iid = NS_IWALLETSERVICE_IID; return iid; } static const nsIID& GetIID() { static nsIID iid = NS_IWALLETSERVICE_IID; return iid; }
NS_IMETHOD WALLET_PreEdit(nsAutoString& walletList) = 0; NS_IMETHOD WALLET_PreEdit(nsAutoString& walletList) = 0;
NS_IMETHOD WALLET_PostEdit(nsAutoString walletList) = 0; NS_IMETHOD WALLET_PostEdit(nsAutoString walletList) = 0;
NS_IMETHOD WALLET_ChangePassword() = 0; NS_IMETHOD WALLET_ChangePassword() = 0;
NS_IMETHOD WALLET_Prefill(nsIPresShell* shell, nsString url, PRBool quick) = 0; NS_IMETHOD WALLET_Prefill(nsIPresShell* shell, nsString url, PRBool quick) = 0;
NS_IMETHOD WALLET_PrefillReturn(nsAutoString results)=0; NS_IMETHOD WALLET_PrefillReturn(nsAutoString results)=0;
NS_IMETHOD SI_DisplaySignonInfoAsHTML()=0; NS_IMETHOD SI_PromptUsernameAndPassword
NS_IMETHOD SI_SignonViewerReturn(nsAutoString results)=0; (char *prompt, char **username, char **password, char *URLName, PRBool &status)=0;
NS_IMETHOD SI_GetSignonListForViewer(nsString& aSignonList)=0; NS_IMETHOD SI_PromptPassword
NS_IMETHOD SI_GetRejectListForViewer(nsString& aRejectList)=0; (char *prompt, char **password, char *URLName, PRBool pickFirstUser)=0;
NS_IMETHOD WALLET_GetNopreviewListForViewer(nsString& aNopreviewList)=0; NS_IMETHOD SI_Prompt
NS_IMETHOD WALLET_GetNocaptureListForViewer(nsString& aNocaptureList)=0; (char *prompt, char **username, char *URLName)=0;
NS_IMETHOD WALLET_GetPrefillListForViewer(nsString& aPrefillList)=0;
NS_IMETHOD SI_PromptUsernameAndPassword NS_IMETHOD WALLET_GetNopreviewListForViewer(nsString& aNopreviewList)=0;
(char *prompt, char **username, char **password, char *URLName, PRBool &status)=0; NS_IMETHOD WALLET_GetNocaptureListForViewer(nsString& aNocaptureList)=0;
NS_IMETHOD SI_PromptPassword NS_IMETHOD WALLET_GetPrefillListForViewer(nsString& aPrefillList)=0;
(char *prompt, char **password, char *URLName, PRBool pickFirstUser)=0; NS_IMETHOD SI_GetSignonListForViewer(nsString& aSignonList)=0;
NS_IMETHOD SI_Prompt NS_IMETHOD SI_GetRejectListForViewer(nsString& aRejectList)=0;
(char *prompt, char **username, char *URLName)=0; NS_IMETHOD SI_SignonViewerReturn(nsAutoString results)=0;
}; };
#endif /* nsIWalletService_h___ */ #endif /* nsIWalletService_h___ */

View File

@ -44,134 +44,126 @@ static NS_DEFINE_IID(kIDocumentLoaderIID, NS_IDOCUMENTLOADER_IID);
nsWalletlibService::nsWalletlibService() nsWalletlibService::nsWalletlibService()
{ {
NS_INIT_REFCNT(); NS_INIT_REFCNT();
Init(); Init();
} }
nsWalletlibService::~nsWalletlibService() nsWalletlibService::~nsWalletlibService()
{ {
nsIObserverService *svc = 0; nsIObserverService *svc = 0;
nsresult rv = nsServiceManager::GetService( NS_OBSERVERSERVICE_PROGID, nsresult rv = nsServiceManager::GetService( NS_OBSERVERSERVICE_PROGID,
nsIObserverService::GetIID(), nsIObserverService::GetIID(),
(nsISupports**)&svc ); (nsISupports**)&svc );
if ( NS_SUCCEEDED( rv ) && svc ) { if ( NS_SUCCEEDED( rv ) && svc ) {
nsString topic(NS_FORMSUBMIT_SUBJECT); nsString topic(NS_FORMSUBMIT_SUBJECT);
rv = svc->RemoveObserver( this, topic.GetUnicode()); rv = svc->RemoveObserver( this, topic.GetUnicode());
nsServiceManager::ReleaseService( NS_OBSERVERSERVICE_PROGID, svc ); nsServiceManager::ReleaseService( NS_OBSERVERSERVICE_PROGID, svc );
} }
} }
/* calls into the wallet module */
NS_IMETHODIMP NS_IMETHODIMP
nsWalletlibService::QueryInterface(REFNSIID iid, void** result) nsWalletlibService::QueryInterface(REFNSIID iid, void** result)
{ {
if (! result) if (! result) {
return NS_ERROR_NULL_POINTER; return NS_ERROR_NULL_POINTER;
}
*result = nsnull; *result = nsnull;
if (iid.Equals(kIWalletServiceIID)) { if (iid.Equals(kIWalletServiceIID)) {
*result = NS_STATIC_CAST(nsIWalletService*, this); *result = NS_STATIC_CAST(nsIWalletService*, this);
AddRef(); AddRef();
return NS_OK; return NS_OK;
} }
if (iid.Equals(kIFormSubmitObserverIID)) { if (iid.Equals(kIFormSubmitObserverIID)) {
*result = NS_STATIC_CAST(nsIFormSubmitObserver*, this); *result = NS_STATIC_CAST(nsIFormSubmitObserver*, this);
AddRef(); AddRef();
return NS_OK; return NS_OK;
} }
if (iid.Equals(nsIDocumentLoaderObserver::GetIID())) { if (iid.Equals(nsIDocumentLoaderObserver::GetIID())) {
*result = (void*) ((nsIDocumentLoaderObserver*)this); *result = (void*) ((nsIDocumentLoaderObserver*)this);
AddRef(); AddRef();
return NS_OK; return NS_OK;
} }
return NS_NOINTERFACE; return NS_NOINTERFACE;
} }
NS_IMPL_ADDREF(nsWalletlibService); NS_IMPL_ADDREF(nsWalletlibService);
NS_IMPL_RELEASE(nsWalletlibService); NS_IMPL_RELEASE(nsWalletlibService);
NS_IMETHODIMP nsWalletlibService::WALLET_PreEdit(nsAutoString& walletList) {
::WLLT_PreEdit(walletList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_PostEdit(nsAutoString walletList) {
::WLLT_PostEdit(walletList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_ChangePassword() { NS_IMETHODIMP nsWalletlibService::WALLET_ChangePassword() {
::WLLT_ChangePassword(); ::WLLT_ChangePassword();
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP nsWalletlibService::WALLET_PreEdit(nsAutoString& walletList) { NS_IMETHODIMP nsWalletlibService::WALLET_Prefill(nsIPresShell* shell, nsString url, PRBool quick) {
::WLLT_PreEdit(walletList); return ::WLLT_Prefill(shell, url, quick);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_PostEdit(nsAutoString walletList) {
::WLLT_PostEdit(walletList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_Prefill
(nsIPresShell* shell, nsString url, PRBool quick) {
return ::WLLT_Prefill(shell, url, quick);
} }
NS_IMETHODIMP nsWalletlibService::WALLET_PrefillReturn(nsAutoString results){ NS_IMETHODIMP nsWalletlibService::WALLET_PrefillReturn(nsAutoString results){
::WLLT_PrefillReturn(results); ::WLLT_PrefillReturn(results);
return NS_OK; return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_DisplaySignonInfoAsHTML(){
::SINGSIGN_DisplaySignonInfoAsHTML();
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_SignonViewerReturn(nsAutoString results){
::SINGSIGN_SignonViewerReturn(results);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_GetSignonListForViewer(nsString& aSignonList){
::SINGSIGN_GetSignonListForViewer(aSignonList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_GetRejectListForViewer(nsString& aRejectList){
::SINGSIGN_GetRejectListForViewer(aRejectList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetNopreviewListForViewer(nsString& aNopreviewList){
::WLLT_GetNopreviewListForViewer(aNopreviewList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetNocaptureListForViewer(nsString& aNocaptureList){
::WLLT_GetNocaptureListForViewer(aNocaptureList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetPrefillListForViewer(nsString& aPrefillList){
::WLLT_GetPrefillListForViewer(aPrefillList);
return NS_OK;
} }
NS_IMETHODIMP nsWalletlibService::SI_PromptUsernameAndPassword NS_IMETHODIMP nsWalletlibService::SI_PromptUsernameAndPassword
(char *prompt, char **username, char **password, char *URLName, PRBool &status) { (char *prompt, char **username, char **password, char *URLName, PRBool &status) {
status = ::SINGSIGN_PromptUsernameAndPassword(prompt, username, password, URLName); status = ::SINGSIGN_PromptUsernameAndPassword(prompt, username, password, URLName);
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP nsWalletlibService::SI_PromptPassword NS_IMETHODIMP nsWalletlibService::SI_PromptPassword
(char *prompt, char **password, char *URLName, PRBool pickFirstUser) { (char *prompt, char **password, char *URLName, PRBool pickFirstUser) {
*password = ::SINGSIGN_PromptPassword(prompt, URLName, pickFirstUser); *password = ::SINGSIGN_PromptPassword(prompt, URLName, pickFirstUser);
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP nsWalletlibService::SI_Prompt NS_IMETHODIMP nsWalletlibService::SI_Prompt
(char *prompt, char **username, char *URLName) { (char *prompt, char **username, char *URLName) {
*username = ::SINGSIGN_Prompt(prompt, *username, URLName); *username = ::SINGSIGN_Prompt(prompt, *username, URLName);
return NS_OK; return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetNopreviewListForViewer(nsString& aNopreviewList){
::WLLT_GetNopreviewListForViewer(aNopreviewList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetNocaptureListForViewer(nsString& aNocaptureList){
::WLLT_GetNocaptureListForViewer(aNocaptureList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::WALLET_GetPrefillListForViewer(nsString& aPrefillList){
::WLLT_GetPrefillListForViewer(aPrefillList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_GetSignonListForViewer(nsString& aSignonList){
::SINGSIGN_GetSignonListForViewer(aSignonList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_GetRejectListForViewer(nsString& aRejectList){
::SINGSIGN_GetRejectListForViewer(aRejectList);
return NS_OK;
}
NS_IMETHODIMP nsWalletlibService::SI_SignonViewerReturn(nsAutoString results){
::SINGSIGN_SignonViewerReturn(results);
return NS_OK;
} }
NS_IMETHODIMP nsWalletlibService::Observe(nsISupports*, const PRUnichar*, const PRUnichar*) NS_IMETHODIMP nsWalletlibService::Observe(nsISupports*, const PRUnichar*, const PRUnichar*)
{ {
return NS_ERROR_NOT_IMPLEMENTED; return NS_ERROR_NOT_IMPLEMENTED;
} }
#define CRLF "\015\012" #define CRLF "\015\012"
@ -186,31 +178,27 @@ NS_IMETHODIMP nsWalletlibService::Notify(nsIContent* formNode)
void nsWalletlibService::Init() void nsWalletlibService::Init()
{ {
nsIObserverService *svc = 0; nsIObserverService *svc = 0;
nsIDocumentLoader *docLoaderService; nsIDocumentLoader *docLoaderService;
nsresult rv = nsServiceManager::GetService( NS_OBSERVERSERVICE_PROGID, nsresult rv = nsServiceManager::GetService
nsIObserverService::GetIID(), (NS_OBSERVERSERVICE_PROGID, nsIObserverService::GetIID(), (nsISupports**)&svc );
(nsISupports**)&svc ); if ( NS_SUCCEEDED( rv ) && svc ) {
if ( NS_SUCCEEDED( rv ) && svc ) { nsString topic(NS_FORMSUBMIT_SUBJECT);
nsString topic(NS_FORMSUBMIT_SUBJECT); rv = svc->AddObserver( this, topic.GetUnicode());
rv = svc->AddObserver( this, topic.GetUnicode()); nsServiceManager::ReleaseService( NS_OBSERVERSERVICE_PROGID, svc );
nsServiceManager::ReleaseService( NS_OBSERVERSERVICE_PROGID, svc ); }
}
// Get the global document loader service... // Get the global document loader service...
rv = nsServiceManager::GetService(kDocLoaderServiceCID, rv = nsServiceManager::GetService
kIDocumentLoaderIID, (kDocLoaderServiceCID, kIDocumentLoaderIID, (nsISupports **)&docLoaderService);
(nsISupports **)&docLoaderService); if (NS_SUCCEEDED(rv) && docLoaderService) {
if (NS_SUCCEEDED(rv) && docLoaderService) { //Register ourselves as an observer for the new doc loader
//Register ourselves as an observer for the new doc loader docLoaderService->AddObserver((nsIDocumentLoaderObserver*)this);
docLoaderService->AddObserver((nsIDocumentLoaderObserver*)this); nsServiceManager::ReleaseService(kDocLoaderServiceCID, docLoaderService );
nsServiceManager::ReleaseService(kDocLoaderServiceCID, docLoaderService ); }
}
} }
// nsIDocumentLoaderObserver methods
NS_IMETHODIMP NS_IMETHODIMP
nsWalletlibService::OnStartDocumentLoad(nsIDocumentLoader* aLoader, nsIURI* aURL, const char* aCommand) nsWalletlibService::OnStartDocumentLoad(nsIDocumentLoader* aLoader, nsIURI* aURL, const char* aCommand)
{ {
@ -228,181 +216,174 @@ nsWalletlibService::OnEndDocumentLoad(nsIDocumentLoader* aLoader, nsIURI *aUrl,
nsIDocumentLoaderObserver * aObserver) nsIDocumentLoaderObserver * aObserver)
#endif #endif
{ {
nsresult rv = NS_OK; nsresult rv = NS_OK;
nsIContentViewerContainer *cont = nsnull; nsIContentViewerContainer *cont = nsnull;
nsIWebShell *ws = nsnull; nsIWebShell *ws = nsnull;
if (aLoader == nsnull) { if (aLoader == nsnull) {
return rv; return rv;
} }
rv = aLoader->GetContainer(&cont); rv = aLoader->GetContainer(&cont);
if (NS_FAILED(rv) || (cont == nsnull)) { if (NS_FAILED(rv) || (cont == nsnull)) {
return rv; return rv;
} }
rv = cont->QueryInterface(nsIWebShell::GetIID(), (void **)&ws); rv = cont->QueryInterface(nsIWebShell::GetIID(), (void **)&ws);
if (NS_FAILED(rv) || (ws == nsnull)) { if (NS_FAILED(rv) || (ws == nsnull)) {
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
} }
nsIContentViewer* cv = nsnull; nsIContentViewer* cv = nsnull;
rv = ws->GetContentViewer(&cv); rv = ws->GetContentViewer(&cv);
if (NS_FAILED(rv) || (cv == nsnull)) { if (NS_FAILED(rv) || (cv == nsnull)) {
NS_RELEASE(ws); NS_RELEASE(ws);
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
} }
nsIDocumentViewer* docViewer = nsnull; nsIDocumentViewer* docViewer = nsnull;
rv = cv->QueryInterface(nsIDocumentViewer::GetIID(), (void**) &docViewer); rv = cv->QueryInterface(nsIDocumentViewer::GetIID(), (void**) &docViewer);
if (NS_FAILED(rv) || (docViewer == nsnull)) { if (NS_FAILED(rv) || (docViewer == nsnull)) {
NS_RELEASE(cv); NS_RELEASE(cv);
NS_RELEASE(ws); NS_RELEASE(ws);
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
} }
nsCOMPtr<nsIDocument> doc; nsCOMPtr<nsIDocument> doc;
rv = docViewer->GetDocument(*getter_AddRefs(doc)); rv = docViewer->GetDocument(*getter_AddRefs(doc));
if (NS_FAILED(rv) || (doc == nsnull)) { if (NS_FAILED(rv) || (doc == nsnull)) {
NS_RELEASE(docViewer); NS_RELEASE(docViewer);
NS_RELEASE(cv); NS_RELEASE(cv);
NS_RELEASE(ws); NS_RELEASE(ws);
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
} }
/* get url name as ascii string */ /* get url name as ascii string */
char *URLName = nsnull; char *URLName = nsnull;
nsIURI* docURL = nsnull; nsIURI* docURL = nsnull;
#ifdef NECKO #ifdef NECKO
char* spec; char* spec;
#else #else
const char* spec; const char* spec;
#endif #endif
if (!doc) { if (!doc) {
return NS_OK; return NS_OK;
} }
docURL = doc->GetDocumentURL(); docURL = doc->GetDocumentURL();
if (!docURL) { if (!docURL) {
return NS_OK; return NS_OK;
} }
(void)docURL->GetSpec(&spec); (void)docURL->GetSpec(&spec);
URLName = (char*)PR_Malloc(PL_strlen(spec)+1); URLName = (char*)PR_Malloc(PL_strlen(spec)+1);
PL_strcpy(URLName, spec); PL_strcpy(URLName, spec);
NS_IF_RELEASE(docURL); NS_IF_RELEASE(docURL);
#ifdef NECKO #ifdef NECKO
nsCRT::free(spec); nsCRT::free(spec);
#endif #endif
nsIDOMHTMLDocument *htmldoc = nsnull; nsIDOMHTMLDocument *htmldoc = nsnull;
rv = doc->QueryInterface(kIDOMHTMLDocumentIID, (void**)&htmldoc); rv = doc->QueryInterface(kIDOMHTMLDocumentIID, (void**)&htmldoc);
if (NS_FAILED(rv) || (htmldoc == nsnull)) { if (NS_FAILED(rv) || (htmldoc == nsnull)) {
NS_RELEASE(docViewer); NS_RELEASE(docViewer);
NS_RELEASE(cv); NS_RELEASE(cv);
NS_RELEASE(ws); NS_RELEASE(ws);
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
} }
nsIDOMHTMLCollection* forms = nsnull; nsIDOMHTMLCollection* forms = nsnull;
rv = htmldoc->GetForms(&forms); rv = htmldoc->GetForms(&forms);
if (NS_FAILED(rv) || (forms == nsnull)) { if (NS_FAILED(rv) || (forms == nsnull)) {
NS_RELEASE(htmldoc);
NS_RELEASE(docViewer);
NS_RELEASE(cv);
NS_RELEASE(ws);
NS_RELEASE(cont);
return rv;
}
PRUint32 numForms;
forms->GetLength(&numForms);
for (PRUint32 formX = 0; formX < numForms; formX++) {
nsIDOMNode* formNode = nsnull;
forms->Item(formX, &formNode);
if (nsnull != formNode) {
nsIDOMHTMLFormElement* formElement = nsnull;
rv = formNode->QueryInterface(kIDOMHTMLFormElementIID,
(void**)&formElement);
if ((NS_SUCCEEDED(rv)) && (nsnull != formElement)) {
nsIDOMHTMLCollection* elements = nsnull;
rv = formElement->GetElements(&elements);
if ((NS_SUCCEEDED(rv)) && (nsnull != elements)) {
/* got to the form elements at long last */
PRUint32 numElements;
elements->GetLength(&numElements);
for (PRUint32 elementX = 0; elementX < numElements; elementX++) {
nsIDOMNode* elementNode = nsnull;
elements->Item(elementX, &elementNode);
if (nsnull != elementNode) {
nsIDOMHTMLInputElement *inputElement = nsnull;
rv = elementNode->QueryInterface(
nsIDOMHTMLInputElement::GetIID(),
(void**)&inputElement);
if ((NS_SUCCEEDED(rv)) && (nsnull != inputElement)) {
nsAutoString type("");
rv = inputElement->GetType(type);
if (NS_SUCCEEDED(rv)) {
if ((type == "") || (type.Compare("text", PR_TRUE) == 0) ||
(type.Compare("password", PR_TRUE) == 0)) {
nsAutoString field;
rv = inputElement->GetName(field);
if (NS_SUCCEEDED(rv)) {
char* nameString = field.ToNewCString();
if (nameString) {
char* valueString = NULL;
SINGSIGN_RestoreSignonData(URLName, nameString, &valueString);
nsAutoString value(valueString);
rv = inputElement->SetValue(value);
delete[] nameString;
}
}
}
}
NS_RELEASE(inputElement);
}
NS_RELEASE(elementNode);
}
}
NS_RELEASE(elements);
}
NS_RELEASE(formElement);
}
NS_RELEASE(formNode);
}
}
NS_RELEASE(forms);
NS_RELEASE(htmldoc); NS_RELEASE(htmldoc);
NS_RELEASE(docViewer); NS_RELEASE(docViewer);
NS_RELEASE(cv); NS_RELEASE(cv);
NS_RELEASE(ws); NS_RELEASE(ws);
NS_RELEASE(cont); NS_RELEASE(cont);
return rv; return rv;
}
PRUint32 numForms;
forms->GetLength(&numForms);
for (PRUint32 formX = 0; formX < numForms; formX++) {
nsIDOMNode* formNode = nsnull;
forms->Item(formX, &formNode);
if (nsnull != formNode) {
nsIDOMHTMLFormElement* formElement = nsnull;
rv = formNode->QueryInterface(kIDOMHTMLFormElementIID, (void**)&formElement);
if ((NS_SUCCEEDED(rv)) && (nsnull != formElement)) {
nsIDOMHTMLCollection* elements = nsnull;
rv = formElement->GetElements(&elements);
if ((NS_SUCCEEDED(rv)) && (nsnull != elements)) {
/* got to the form elements at long last */
PRUint32 numElements;
elements->GetLength(&numElements);
for (PRUint32 elementX = 0; elementX < numElements; elementX++) {
nsIDOMNode* elementNode = nsnull;
elements->Item(elementX, &elementNode);
if (nsnull != elementNode) {
nsIDOMHTMLInputElement *inputElement = nsnull;
rv = elementNode->QueryInterface
(nsIDOMHTMLInputElement::GetIID(), (void**)&inputElement);
if ((NS_SUCCEEDED(rv)) && (nsnull != inputElement)) {
nsAutoString type("");
rv = inputElement->GetType(type);
if (NS_SUCCEEDED(rv)) {
if ((type == "") || (type.Compare("text", PR_TRUE) == 0) ||
(type.Compare("password", PR_TRUE) == 0)) {
nsAutoString field;
rv = inputElement->GetName(field);
if (NS_SUCCEEDED(rv)) {
char* nameString = field.ToNewCString();
if (nameString) {
char* valueString = NULL;
SINGSIGN_RestoreSignonData(URLName, nameString, &valueString);
nsAutoString value(valueString);
rv = inputElement->SetValue(value);
delete[] nameString;
}
}
}
}
NS_RELEASE(inputElement);
}
NS_RELEASE(elementNode);
}
}
NS_RELEASE(elements);
}
NS_RELEASE(formElement);
}
NS_RELEASE(formNode);
}
}
NS_RELEASE(forms);
NS_RELEASE(htmldoc);
NS_RELEASE(docViewer);
NS_RELEASE(cv);
NS_RELEASE(ws);
NS_RELEASE(cont);
return rv;
} }
NS_IMETHODIMP NS_IMETHODIMP
#ifdef NECKO #ifdef NECKO
nsWalletlibService::OnStartURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnStartURLLoad
nsIChannel* channel, (nsIDocumentLoader* loader, nsIChannel* channel, nsIContentViewer* aViewer)
nsIContentViewer* aViewer)
#else #else
nsWalletlibService::OnStartURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnStartURLLoad
nsIURI* aURL, const char* aContentType, (nsIDocumentLoader* loader, nsIURI* aURL, const char* aContentType, nsIContentViewer* aViewer)
nsIContentViewer* aViewer)
#endif #endif
{ {
return NS_OK;
return NS_OK;
} }
NS_IMETHODIMP NS_IMETHODIMP
#ifdef NECKO #ifdef NECKO
nsWalletlibService::OnProgressURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnProgressURLLoad
nsIChannel* channel, PRUint32 aProgress, (nsIDocumentLoader* loader, nsIChannel* channel, PRUint32 aProgress, PRUint32 aProgressMax)
PRUint32 aProgressMax)
#else #else
nsWalletlibService::OnProgressURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnProgressURLLoad
nsIURI* aURL, PRUint32 aProgress, (nsIDocumentLoader* loader, nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax)
PRUint32 aProgressMax)
#endif #endif
{ {
return NS_OK; return NS_OK;
@ -410,44 +391,38 @@ nsWalletlibService::OnProgressURLLoad(nsIDocumentLoader* loader,
NS_IMETHODIMP NS_IMETHODIMP
#ifdef NECKO #ifdef NECKO
nsWalletlibService::OnStatusURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnStatusURLLoad
nsIChannel* channel, nsString& aMsg) (nsIDocumentLoader* loader, nsIChannel* channel, nsString& aMsg)
#else #else
nsWalletlibService::OnStatusURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnStatusURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, nsString& aMsg)
nsIURI* aURL, nsString& aMsg)
#endif #endif
{ {
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP NS_IMETHODIMP
#ifdef NECKO #ifdef NECKO
nsWalletlibService::OnEndURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnEndURLLoad
nsIChannel* channel, nsresult aStatus) (nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus)
#else #else
nsWalletlibService::OnEndURLLoad(nsIDocumentLoader* loader, nsWalletlibService::OnEndURLLoad
nsIURI* aURL, PRInt32 aStatus) (nsIDocumentLoader* loader, nsIURI* aURL, PRInt32 aStatus)
#endif #endif
{ {
return NS_OK;
return NS_OK;
} }
NS_IMETHODIMP NS_IMETHODIMP
#ifdef NECKO #ifdef NECKO
nsWalletlibService::HandleUnknownContentType(nsIDocumentLoader* loader, nsWalletlibService::HandleUnknownContentType
nsIChannel* channel, (nsIDocumentLoader* loader, nsIChannel* channel, const char *aContentType, const char *aCommand )
const char *aContentType,
const char *aCommand )
#else #else
nsWalletlibService::HandleUnknownContentType(nsIDocumentLoader* loader, nsWalletlibService::HandleUnknownContentType
nsIURI *aURL, (nsIDocumentLoader* loader, nsIURI *aURL, const char *aContentType, const char *aCommand )
const char *aContentType,
const char *aCommand )
#endif #endif
{ {
return NS_OK; return NS_OK;
} }
/* call to create the wallet object */ /* call to create the wallet object */
@ -455,11 +430,11 @@ nsWalletlibService::HandleUnknownContentType(nsIDocumentLoader* loader,
nsresult nsresult
NS_NewWalletService(nsIWalletService** result) NS_NewWalletService(nsIWalletService** result)
{ {
nsIWalletService* wallet = new nsWalletlibService(); nsIWalletService* wallet = new nsWalletlibService();
if (! wallet) if (! wallet) {
return NS_ERROR_NULL_POINTER; return NS_ERROR_NULL_POINTER;
}
*result = wallet; *result = wallet;
NS_ADDREF(*result); NS_ADDREF(*result);
return NS_OK; return NS_OK;
} }

View File

@ -31,69 +31,77 @@ class nsWalletlibService : public nsIWalletService,
public nsIDocumentLoaderObserver { public nsIDocumentLoaderObserver {
public: public:
NS_DECL_ISUPPORTS NS_DECL_ISUPPORTS
nsWalletlibService(); nsWalletlibService();
/* Implementation of the nsIWalletService interface */ /* Implementation of the nsIWalletService interface */
NS_IMETHOD WALLET_ChangePassword(); NS_IMETHOD WALLET_PreEdit(nsAutoString& walletList);
NS_IMETHOD WALLET_PreEdit(nsAutoString& walletList); NS_IMETHOD WALLET_PostEdit(nsAutoString walletList);
NS_IMETHOD WALLET_PostEdit(nsAutoString walletList); NS_IMETHOD WALLET_ChangePassword();
NS_IMETHOD WALLET_Prefill(nsIPresShell* shell, nsString url, PRBool quick); NS_IMETHOD WALLET_Prefill(nsIPresShell* shell, nsString url, PRBool quick);
NS_IMETHOD WALLET_PrefillReturn(nsAutoString results); NS_IMETHOD WALLET_PrefillReturn(nsAutoString results);
NS_IMETHOD SI_DisplaySignonInfoAsHTML(); NS_IMETHOD SI_PromptUsernameAndPassword
NS_IMETHOD SI_SignonViewerReturn(nsAutoString results); (char *prompt, char **username, char **password, char *URLName, PRBool &status);
NS_IMETHOD SI_GetSignonListForViewer(nsString& aSignonList); NS_IMETHOD SI_PromptPassword
NS_IMETHOD SI_GetRejectListForViewer(nsString& aRejectList); (char *prompt, char **password, char *URLName, PRBool pickFirstUser);
NS_IMETHOD WALLET_GetNopreviewListForViewer(nsString& aNopreviewList); NS_IMETHOD SI_Prompt
NS_IMETHOD WALLET_GetNocaptureListForViewer(nsString& aNocaptureList); (char *prompt, char **username, char *URLName);
NS_IMETHOD WALLET_GetPrefillListForViewer(nsString& aPrefillList);
NS_IMETHOD SI_PromptUsernameAndPassword NS_IMETHOD WALLET_GetNopreviewListForViewer(nsString& aNopreviewList);
(char *prompt, char **username, char **password, char *URLName, PRBool &status); NS_IMETHOD WALLET_GetNocaptureListForViewer(nsString& aNocaptureList);
NS_IMETHOD SI_PromptPassword NS_IMETHOD WALLET_GetPrefillListForViewer(nsString& aPrefillList);
(char *prompt, char **password, char *URLName, PRBool pickFirstUser); NS_IMETHOD SI_GetSignonListForViewer(nsString& aSignonList);
NS_IMETHOD SI_Prompt NS_IMETHOD SI_GetRejectListForViewer(nsString& aRejectList);
(char *prompt, char **username, char *URLName); NS_IMETHOD SI_SignonViewerReturn(nsAutoString results);
// nsIObserver // nsIObserver
NS_DECL_IOBSERVER NS_DECL_IOBSERVER
NS_IMETHOD Notify(nsIContent* formNode);
NS_IMETHOD Notify(nsIContent* formNode); // nsIDocumentLoaderObserver
// nsIDocumentLoaderObserver
#ifdef NECKO #ifdef NECKO
NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, nsIURI* aURL, const char* aCommand); NS_IMETHOD OnStartDocumentLoad
NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus, nsIDocumentLoaderObserver* aObserver); (nsIDocumentLoader* loader, nsIURI* aURL, const char* aCommand);
NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsIContentViewer* aViewer); NS_IMETHOD OnEndDocumentLoad
NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, nsIChannel* channel, PRUint32 aProgress, PRUint32 aProgressMax); (nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus,
NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsString& aMsg); nsIDocumentLoaderObserver* aObserver);
NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus); NS_IMETHOD OnStartURLLoad
NS_IMETHOD HandleUnknownContentType(nsIDocumentLoader* loader, nsIChannel* channel, const char *aContentType,const char *aCommand ); (nsIDocumentLoader* loader, nsIChannel* channel, nsIContentViewer* aViewer);
NS_IMETHOD OnProgressURLLoad
(nsIDocumentLoader* loader, nsIChannel* channel, PRUint32 aProgress,
PRUint32 aProgressMax);
NS_IMETHOD OnStatusURLLoad
(nsIDocumentLoader* loader, nsIChannel* channel, nsString& aMsg);
NS_IMETHOD OnEndURLLoad
(nsIDocumentLoader* loader, nsIChannel* channel, nsresult aStatus);
NS_IMETHOD HandleUnknownContentType
(nsIDocumentLoader* loader, nsIChannel* channel, const char *aContentType,
const char *aCommand );
#else #else
NS_IMETHOD OnStartDocumentLoad(nsIDocumentLoader* loader, nsIURI* aURL, const char* aCommand); NS_IMETHOD OnStartDocumentLoad
NS_IMETHOD OnEndDocumentLoad(nsIDocumentLoader* loader, nsIURI *aUrl, PRInt32 aStatus, (nsIDocumentLoader* loader, nsIURI* aURL, const char* aCommand);
nsIDocumentLoaderObserver * aObserver); NS_IMETHOD OnEndDocumentLoad
(nsIDocumentLoader* loader, nsIURI *aUrl, PRInt32 aStatus,
NS_IMETHOD OnStartURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, const char* aContentType, nsIDocumentLoaderObserver * aObserver);
nsIContentViewer* aViewer); NS_IMETHOD OnStartURLLoad
NS_IMETHOD OnProgressURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, PRUint32 aProgress, (nsIDocumentLoader* loader, nsIURI* aURL, const char* aContentType,
PRUint32 aProgressMax); nsIContentViewer* aViewer);
NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, nsString& aMsg); NS_IMETHOD OnProgressURLLoad
NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, PRInt32 aStatus); (nsIDocumentLoader* loader, nsIURI* aURL, PRUint32 aProgress, PRUint32 aProgressMax);
NS_IMETHOD HandleUnknownContentType(nsIDocumentLoader* loader, NS_IMETHOD OnStatusURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, nsString& aMsg);
NS_IMETHOD OnEndURLLoad(nsIDocumentLoader* loader, nsIURI* aURL, PRInt32 aStatus);
NS_IMETHOD HandleUnknownContentType(nsIDocumentLoader* loader,
nsIURI *aURL, nsIURI *aURL,
const char *aContentType, const char *aContentType,
const char *aCommand ); const char *aCommand );
#endif #endif
protected: protected:
virtual ~nsWalletlibService(); virtual ~nsWalletlibService();
private: private:
void Init(); void Init();
}; };

File diff suppressed because it is too large Load Diff

View File

@ -31,9 +31,6 @@
XP_BEGIN_PROTOS XP_BEGIN_PROTOS
extern void
SINGSIGN_DisplaySignonInfoAsHTML();
extern void extern void
SINGSIGN_GetSignonListForViewer (nsString& aSignonList); SINGSIGN_GetSignonListForViewer (nsString& aSignonList);

View File

@ -391,10 +391,6 @@ SI_RegisterCallback(const char* domain, PrefChangedFunc callback, void* instance
extern PRBool extern PRBool
SI_GetBoolPref(const char * prefname, PRBool defaultvalue); SI_GetBoolPref(const char * prefname, PRBool defaultvalue);
extern void
SI_SetBoolPref(char * prefname, PRBool prefvalue);
static const char *pref_captureForms = static const char *pref_captureForms =
"wallet.captureForms"; "wallet.captureForms";
PRIVATE Bool wallet_captureForms = PR_FALSE; PRIVATE Bool wallet_captureForms = PR_FALSE;
@ -2708,7 +2704,7 @@ wallet_ClearStopwatch();
#define MAX_ARRAY_SIZE 500 #define MAX_ARRAY_SIZE 500
extern void extern void
SI_RememberSignonDat2 SINGSIGN_RememberSignonData
(char* URLName, char** name_array, char** value_array, char** type_array, PRInt32 value_cnt); (char* URLName, char** name_array, char** value_array, char** type_array, PRInt32 value_cnt);
PUBLIC void PUBLIC void
@ -2800,7 +2796,7 @@ WLLT_OnSubmit(nsIContent* formNode) {
} }
/* save login if appropriate */ /* save login if appropriate */
SI_RememberSignonDat2 SINGSIGN_RememberSignonData
(URLName, (char**)name_array, (char**)value_array, (char**)type_array, value_cnt); (URLName, (char**)name_array, (char**)value_array, (char**)type_array, value_cnt);
/* save form if it meets all necessary conditions */ /* save form if it meets all necessary conditions */