Bug 201275 [Webclient] move Prompt code from CBrowserContainer to PromptService

r=edburns


git-svn-id: svn://10.0.0.236/trunk@142148 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
kyle.yuan%sun.com
2003-05-06 01:50:06 +00:00
parent f5f856ee1f
commit 9308c0a46d
17 changed files with 1441 additions and 1312 deletions

View File

@@ -1,5 +1,5 @@
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
*
*
* The contents of this file are subject to the Mozilla Public
* License Version 1.1 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
@@ -31,17 +31,16 @@
#include "nsString2.h" // for nsAutoString
wsPromptUsernameAndPasswordEvent::wsPromptUsernameAndPasswordEvent(WebShellInitContext *yourInitContext,
jobject yourPromptGlobalRef,
wsStringStruct *inStrings,
PRUint32 savePassword,
PRUnichar **outUser,
PRUnichar **outPwd,
jobject yourPromptGlobalRef,
wsStringStruct *inStrings,
PRUnichar **outUser,
PRUnichar **outPwd,
PRBool *_retval) :
mInitContext(yourInitContext), mPromptGlobalRef(yourPromptGlobalRef),
mInitContext(yourInitContext), mPromptGlobalRef(yourPromptGlobalRef),
mInStrings(inStrings), mOutUser(outUser),
mOutPwd(outPwd), mRetVal(_retval)
{
}
void *wsPromptUsernameAndPasswordEvent::handleEvent()
@@ -66,18 +65,18 @@ void *wsPromptUsernameAndPasswordEvent::handleEvent()
if (!(promptClass = env->GetObjectClass(mPromptGlobalRef))) {
return (void *) NS_ERROR_FAILURE;
}
if (!(mid = env->GetMethodID(promptClass, "promptUsernameAndPassword",
if (!(mid = env->GetMethodID(promptClass, "promptUsernameAndPassword",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/util/Properties;)Z"))) {
return (void *) NS_ERROR_FAILURE;
}
result = env->CallBooleanMethod(mPromptGlobalRef, mid,
mInStrings[0].jStr, mInStrings[1].jStr,
mInStrings[2].jStr, (jint) mSavePassword,
result = env->CallBooleanMethod(mPromptGlobalRef, mid,
mInStrings[0].jStr, mInStrings[1].jStr,
mInStrings[2].jStr, 0,
gPromptProperties);
#endif
// pull userName and password entries out of the properties table
user = (jstring) ::util_GetFromPropertiesObject(env, gPromptProperties,
USER_NAME_KEY, (jobject)
&(mInitContext->shareContext));
@@ -87,7 +86,7 @@ void *wsPromptUsernameAndPasswordEvent::handleEvent()
*mOutUser = ToNewUnicode(autoUser);
::util_ReleaseStringChars(env, user, userJchar);
}
password = (jstring) ::util_GetFromPropertiesObject(env, gPromptProperties,
PASSWORD_KEY, (jobject)
&(mInitContext->shareContext));
@@ -97,29 +96,24 @@ void *wsPromptUsernameAndPasswordEvent::handleEvent()
*mOutPwd = ToNewUnicode(autoPassword);
::util_ReleaseStringChars(env, password, passwordJchar);
}
*mRetVal = (result == JNI_TRUE) ? PR_TRUE : PR_FALSE;
return (void *) NS_OK;
}
wsPromptUniversalDialogEvent::wsPromptUniversalDialogEvent(WebShellInitContext *yourInitContext,
jobject yourPromptGlobalRef,
wsStringStruct *inStrings,
PRUnichar **fieldOne,
PRUnichar **fieldTwo,
PRBool *checkboxState,
PRInt32 numButtons,
PRInt32 numFields,
PRInt32 fieldIsPasswd,
PRInt32 *buttonPressed) :
mInitContext(yourInitContext), mPromptGlobalRef(yourPromptGlobalRef),
jobject yourPromptGlobalRef,
wsStringStruct *inStrings,
PRUnichar **fieldOne,
PRUnichar **fieldTwo,
PRInt32 numButtons,
PRInt32 numFields,
PRInt32 fieldIsPasswd) :
mInitContext(yourInitContext), mPromptGlobalRef(yourPromptGlobalRef),
mInStrings(inStrings), mFieldOne(fieldOne), mFieldTwo(fieldTwo),
mCheckboxState(checkboxState), mNumButtons(numButtons),
mNumFields(numFields), mFieldIsPasswd(fieldIsPasswd),
mButtonPressed(buttonPressed)
mNumButtons(numButtons), mNumFields(numFields), mFieldIsPasswd(fieldIsPasswd)
{
}
void *wsPromptUniversalDialogEvent::handleEvent()
@@ -146,71 +140,26 @@ void *wsPromptUniversalDialogEvent::handleEvent()
if (!(promptClass = env->GetObjectClass(mPromptGlobalRef))) {
return (void *) NS_ERROR_FAILURE;
}
if (!(mid = env->GetMethodID(promptClass, "universalDialog",
if (!(mid = env->GetMethodID(promptClass, "universalDialog",
"(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZLjava/util/Properties;)Z"))) {
return (void *) NS_ERROR_FAILURE;
}
result = env->CallBooleanMethod(mPromptGlobalRef, mid,
mInStrings[0].jStr,
mInStrings[1].jStr,
mInStrings[2].jStr,
mInStrings[3].jStr,
mInStrings[4].jStr,
mInStrings[5].jStr,
mInStrings[6].jStr,
mInStrings[7].jStr,
mInStrings[8].jStr,
mInStrings[9].jStr,
(jint) mNumButtons,
result = env->CallBooleanMethod(mPromptGlobalRef, mid,
mInStrings[0].jStr,
mInStrings[1].jStr,
mInStrings[2].jStr,
mInStrings[3].jStr,
mInStrings[4].jStr,
mInStrings[5].jStr,
mInStrings[6].jStr,
mInStrings[7].jStr,
mInStrings[8].jStr,
mInStrings[9].jStr,
(jint) mNumButtons,
(jint) mNumFields,
(jboolean) mFieldIsPasswd,
gPromptProperties);
#endif
// pull entries out of the properties table
// editfield1Value, editfield2Value, checkboxState, buttonPressed
if (mFieldOne) {
edit1 = (jstring) ::util_GetFromPropertiesObject(env,
gPromptProperties,
EDIT_FIELD_1_KEY,
(jobject)
&(mInitContext->shareContext));
edit1Jchar = ::util_GetStringChars(env, edit1);
autoEdit1 = (PRUnichar *) edit1Jchar;
*mFieldOne = ToNewUnicode(autoEdit1);
::util_ReleaseStringChars(env, edit1, edit1Jchar);
}
if (mFieldTwo) {
edit2 = (jstring) ::util_GetFromPropertiesObject(env,
gPromptProperties,
EDIT_FIELD_2_KEY,
(jobject)
&(mInitContext->shareContext));
edit2Jchar = ::util_GetStringChars(env, edit2);
autoEdit2 = (PRUnichar *) edit2Jchar;
*mFieldTwo = ToNewUnicode(autoEdit2);
::util_ReleaseStringChars(env, edit2, edit2Jchar);
}
if (mCheckboxState) {
*mCheckboxState =
(JNI_TRUE == ::util_GetBoolFromPropertiesObject(env,
gPromptProperties,
CHECKBOX_STATE_KEY,
(jobject)
&(mInitContext->shareContext)))
? PR_TRUE : PR_FALSE;
}
if (mButtonPressed) {
*mButtonPressed = (PRInt32)
::util_GetIntFromPropertiesObject(env, gPromptProperties,
BUTTON_PRESSED_KEY,
(jobject)
&(mInitContext->shareContext));
}
return (void *) NS_OK;
}